简单的问题,但我无法克服...

我有两个数组:

var arrayA = [67.98, "-", 91.77, "-", "-", 8.09];
var arrayB = [3, 4, 9, 1, 12, 77];


因此,我需要从arrayB中删除所有在"-"中具有值arrayA的索引的值。在这种情况下,arrayB的结果应为:

arrayB = [3, 9, 77]


非常感谢。

最佳答案

Array.filter()上使用arrayB,并保留在arrayA中其各自的项目不是破折号的项目:



var arrayA = [67.98, "-", 91.77, "-", "-", 8.09];
var arrayB = [3, 4, 9, 1, 12, 77];

var result = arrayB.filter(function(_, i) {
  return arrayA[i] !== '-';
});

console.log(result);

10-06 08:08