我有一些js数组。例如:

var array1 ="Apple","Orange","Lemon";
var array2 ="Shop1","Shop2","Shop3";
var array3 ="1","NA","4";
var finalArray=[];
finalArray.push(array1,array2,array3);


当我使用它们来生成图表时,每个数组中的项目都被链接了。但是,如何从finalArray中删除链接的项目,以便如果array3包含'NA',则将从finalArray中删除每个链接的项目。因此,finalArray将包含:

array1 ="Apple","Orange";
array2 ="Shop1","Shop3";
array3 ="1","4";


任何在正确方向上的帮助或指示,都将受到赞赏。

最佳答案

您可以使用reduce

这里的主意是


遍历array3并检查特定元素的值是否为NA
如果不是NA,则将值推入相应的键。
如果它是NA,只需简单地返回op即可。




var array1 =["Apple","Orange","Lemon"];
var array2 =["Shop1","Shop2","Shop3"];
var array3 =["1","NA","4"];

var finalArray = array3.reduce((op,inp,index) => {
  if( inp != 'NA') {
    op.array1.push(array1[index])
    op.array2.push(array2[index])
    op.array3.push(inp)
  }
  return op
},{array1:[], array2:[], array3:[]})

console.log(finalArray)

10-06 12:03