获取数组的值以引用其他数组

时间:2016-11-21 05:02:13

标签: javascript arrays

我有一个数组a= ["APP","COM", "REJ" , "COM APP"]b= [23,54,56,24]. A and B长度相等。 如何获取数组B的所有元素,其中数组a的值包含VALUE作为APP

这里的数组有一个APP在APP,COM APP中,如何`返回[23,24]作为一个数组。

5 个答案:

答案 0 :(得分:2)



var a= ["3","", "6"];
var b= [23,54,56];

function selector(e, i){ return {e, i}; }
function filter(e){ return e.e != "" }
function selector2(e){ return b[e.i] }

var c = a.map(selector).filter(filter).map(selector2);
console.log(c);




答案 1 :(得分:2)

您可以使用过滤器来实现您的需求。这是你能做的。

var a = ["3", "", "6"];
var b = [23, 54, 56];

var result = b.filter((val, idx) => a[idx] !== "");


var resultWithEs5 = b.filter(function(val, idx) {
  return a[idx] !== "";
});

console.log(result);

console.log(resultWithEs5);

答案 2 :(得分:1)

您可以使用for循环来获得结果

var a= ["3","", "6"], b= [23,54,56], c = [];
for (var i = 0; i < a.length; i++){
   if(a[i] !== "" && b[i])
       c.push(b[i])
}

console.log(c)

答案 3 :(得分:0)

您可以使用阵列过滤方法。

    a= ["3","", "6"];  
    b= [23,54,56];
    result = b.filter((ele, index) => {
	    return a[index] !== ''; // your condition, here is not false.
    })
    console.log(result)

详情链接:Array.prototype.filter

答案 4 :(得分:0)

这是我的解决方案。希望它有所帮助!

&#13;
&#13;
var a= ["3","", "6"], b= [23,54,56]

var element = "";

for(var i in a){
    if(a[i] == ""){
      element = i;
    }
}
var index = b.indexOf(b[element]);

if (index > -1) {
    b.splice(index, 1);
}
console.log(b)
&#13;
&#13;
&#13;