Javascript两个数组,一个数组中小于20的值从第二个数组中删除相同的索引号

时间:2018-02-04 22:11:25

标签: javascript arrays

我有两个数组:

var keyTimes = new Array(1,2,3,4,5);
var keyValues = new Array (30,10,5,25,15);

我想在keyValues中找到小于20的数字,并从keyTimes数组中删除相同的索引号。

因此,keyTimes数组应如下所示:

keyTimes = (1,4);

1 个答案:

答案 0 :(得分:0)

鉴于两个数组的长度完全相同:



let keyTimes = [1, 2, 3, 4, 5],
    keyValues = [30, 10, 5, 25, 15];

keyTimes = keyTimes.filter((v, i) => keyValues[i] >= 20 );

console.log(keyTimes) // [1, 4]




以上使用带有隐含回报的 ES6 (ES2015)Arrow Function

ES5( ECMA-262



var keyTimes = [1, 2, 3, 4, 5];
var keyValues = [30, 10, 5, 25, 15];

keyTimes = keyTimes.filter(function(v, i) {
 return keyValues[i] >= 20 ;
});

console.log(keyTimes) // [1, 4]




使用for循环:



var keyTimes = [1, 2, 3, 4, 5];
var keyValues = [30, 10, 5, 25, 15];

for (var i = keyTimes.length; i > 0; i--)  {
  if (keyValues[i] < 20) keyTimes.splice(i, 1);
}

console.log(keyTimes); // [1, 4]
&#13;
&#13;
&#13;