如何将变量 car 与变量数组匹配?我需要将每个第一个项目(别克、梅赛德斯、雪佛兰)与我的字符串相匹配。我这种情况应该记录别克和雪佛兰:
var car = "Buick, Chevrolet";
var array = [
["Buick", "2012", "USA", "1201"],
["Mercedes", "2005", "Germany", "12354"],
["Chevrolet", "1974", "USA", "9401"]
];
if (car = array) {
console.log("Buick and Chevrolet matches.");
};
但字符串可能不同 - 有时可能匹配项目 0,有时可能匹配 30 等等。
最佳答案
在现代 Javascript 中,您可以使用 Set
和 .filter
来实现此目的:
var car = "Buick, Chevrolet";
var array = [
["Buick", "2012", "USA", "1201"],
["Mercedes", "2005", "Germany", "12354"],
["Chevrolet", "1974", "USA", "9401"]
];
var searchCars = new Set(car.match(/\w+/g));
var found = array.filter(([name]) => searchCars.has(name));
console.log(found);
关于javascript - 与多层数组匹配字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39912885/