我目前遇到这个问题,我似乎无法找到特定于我的问题的答案。
function handleData( responseData ) {
// Do what you want with the data
console.log(responseData);
}
$.ajax({
url: "hi.php",
...
success: function ( data, status, XHR ) {
handleData(data);
}
});
我希望使用array2中的信息在array1中找到。
输出
的示例Array1有item2,位于Array1 [1]
如果有人可以帮助我,谢谢你。
答案 0 :(得分:2)
Array2.forEach((e) => {
const indexOfE = Array1.indexOf(e)
if (indexOfE > -1) {
console.log(`Array1 has ${e} and is at Array1[${indexOfE}]`)
}
})
您可以查看forEach
,indexOf
和template literals,以帮助您了解此代码。
修改强>
回答评论中的问题,如果你想检查Array1中包含Array2元素作为子串的元素,那么你可以:
Array2.forEach((e) => {
Array1.forEach((f, i) => {
if (f.toLowerCase().includes(e)) {
console.log(`Array1 has ${e} and is at Array1[${i}]`)
}
})
})
检查String.prototype.includes
和this answer,了解有关在另一个字符串中查找子字符串的详细信息。
答案 1 :(得分:0)
如果你只想知道Array1包含Array2中的一个元素,那么迭代Array2调用每个元素的indexOf:
Array2.map((el => {
if (Array1.indexOf(el) !== -1) {
console.log('Array 1 contains ' + el);
}
}));
答案 2 :(得分:0)
这是代码:
var Array1 = ["item1", "item2", "item3", "item4", "item5"];
var Array2 = ["item2", "item5"];
for (var i = 0; i <Array2.length; i++) {
if (Array1.indexOf(Array2[i])>-1) {
console.log("Array1 has "+Array2[i]+" and is at Array1["+Array1.indexOf(Array2[i]) +"]")
}
}
答案 3 :(得分:0)
你可以让Ramdajs找到两个数组的交集如下
const Array1 = ["item1", "item2", "item3", "item4", "item5"];
const Array2 = ["item2", "item5"];
const res = R.intersection(Array1, Array2);
console.log(res);
here是代码排斥
使用lodash
可以实现同样的目的const Array1 = ["item1", "item2", "item3", "item4", "item5"];
const Array2 = ["item2", "item5"];
const res = _.intersection(Array1, Array2)
console.log(res);
here是lodash的jsfiddle。
或者您可以使用数组的includes方法执行相同的操作
const Array1 = ["item1", "item2", "item3", "item4", "item5"];
const Array2 = ["item2", "item5"];
const res = Array1.filter(curr=>Array2.includes(curr));
console.log(res);