js 数组方法连用(es6)

  • Post author:
  • Post category:其他


var array = [
  {
    value: 1,
    obj: {
      id: 11,
      name: "老王",
    },
  },
  {
    value: 2,
    obj: {
      id: 22,
      name: "老李",
    },
  },
  {
    value: 3,
  },
  {
    value: 4,
    obj: {
      id: 44,
      name: "老胡",
    },
  },
  {
    value: 5,
  },
  {
    value: 6,
    obj: {
      id: 66,
      name: "老李",
    },
  },
];

对该数组进行循环,过滤,所含参数进行判断

console.log(array.map((item) => item?.obj?.name));
//用map循环获取一个数组中对应那么所存在的新数组

//[ '老王', '老李', undefined, '老胡', undefined, '老李' ]

对该数组进行过滤,过滤掉里面的undefind

console.log(array.map((item) => item?.obj?.name).filter((item) => item));
//生成一个过滤后的新数组(过滤掉里面的undefind)
//[ '老王', '老李', '老胡', '老李' ]

再对生成的数组中所含元素进行include判断

console.log(
  array
    .map((item) => ["老胡", "老李"].includes(item?.obj?.name))
    .filter((item) => item)
);

//判断生成的数组中,是否含有'老李','老胡'元素(如果包含返回true,且有几个返回几个true)

//[ true, true, true ]



版权声明:本文为qq_37130872原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。