如何拆分和过滤 2 个数组

问题描述 投票:0回答:1

我有一个 2 数组

var arr1 = ['A','B','C','D']
var arr2 = ['A~XX','A~XXX','B~YY','B~YYY']

我想将包含 'A' 的 arr2 元素推送到 op_array

var op_array = new Array();

我的 op_array 应该看起来像这样,如果“A”通过了这个

['A~XX','A~XXX']

如果“B”通过则

['B~YY','B~YYY']

我一直在尝试这个

op_array = arr1.filter(item => !arr2.split(/~/)[1].includes(item));

好奇学习一种有效的方法。

javascript arrays
1个回答
0
投票

要根据传递的值(如“A”或“B”)实现过滤

arr2
的所需行为,您可以将
filter
方法与
includes
结合使用。

var arr1 = ['A', 'B', 'C', 'D'];
var arr2 = ['A~XX', 'A~XXX', 'B~YY', 'B~YYY'];

function filterArrayByKey(key) {
    return arr2.filter(item => item.startsWith(key + '~'));
}

var op_array_A = filterArrayByKey('A');
console.log(op_array_A); // ['A~XX', 'A~XXX']

var op_array_B = filterArrayByKey('B');
console.log(op_array_B); // ['B~YY', 'B~YYY']
© www.soinside.com 2019 - 2024. All rights reserved.