我有一些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)