我有一个数组INSERT INTO oranges JSON '{
"id": "uuid()",
"color": "red"
}';
和a = ["APP","COM", "REJ" , "COM APP"]
。 A和B的长度相等。如何获取数组B的所有元素,其中数组a的值包含VALUE作为APP
此处数组a b = [23,54,56,24]
中有APP
,APP
,如何将COM APP
作为数组。
答案 0 :(得分:5)
使用Array#filter
方法和String#indexOf
方法。
var a = ["APP", "COM", "REJ", "COM APP"],
b = [23, 54, 56, 24],
c = 'APP';
console.log(
b.filter(function(v, i) {
return a[i].indexOf(c) > -1;
})
)
对于精确的单词匹配,请使用带有单词边界正则表达式的RegExp#test
方法。
var a = ["APP", "COM", "REJ", "COM APP"],
b = [23, 54, 56, 24],
c = /\bAPP\b/;
console.log(
b.filter(function(v, i) {
return c.test(a[i]);
})
)
答案 1 :(得分:1)
你可以使用tis代码:
var a = ["APP", "COM", "REJ", "COM APP"],
b = [23, 54, 56, 24],
var find=[]
for(var key in b){
if(a[key].indexOf('APP')!=-1)
find.push(b[key])
}
console.log(find)
答案 2 :(得分:0)
你也可以这样做;
var a = ["APP","COM", "REJ" , "COM APP"],
b = [23,54,56,24],
r = b.reduce((p,c,i) => a[i].includes("APP") ? p.concat(c) : p ,[]);
console.log(r);