在JS中,获取与其他数组相关的数组值

3
我有一个数组 a = ["APP","COM", "REJ" , "COM APP"]b = [23,54,56,24]。A和B的长度相等。如何获取数组B的所有元素,其中数组a的值包含VALUE为APP。
在数组a中,有一个APPAPPCOM APP中,如何以数组的形式返回[23, 24]
3个回答

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
您可以使用这段代码:
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)

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);


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接