我有一个数组a= ["APP","COM", "REJ" , "COM APP"]
和b= [23,54,56,24].
A and B
长度相等。
如何获取数组B的所有元素,其中数组a的值包含VALUE作为APP
这里的数组有一个APP在APP,COM APP中,如何`返回[23,24]作为一个数组。
答案 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)
答案 4 :(得分:0)
这是我的解决方案。希望它有所帮助!
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;