JavaScript中是否有一种方法可以比较一个数组中的值,并查看它是否在另一个数组中?
类似于PHP的in_array函数?
JavaScript中是否有一种方法可以比较一个数组中的值,并查看它是否在另一个数组中?
类似于PHP的in_array函数?
当前回答
有一个叫Locutus的项目,它在Javascript和in_array()中实现了PHP函数,你可以像在PHP中使用一样使用它。
用法示例:
in_array('van', myArray);
in_array(1, otherArray, true); // Forcing strict type
其他回答
带下划线的in_array的等效形式是_.indexOf
例子:
_.indexOf([3,5,8], 8);//返回索引为8的2 _.indexOf([3,5,8], 10);//返回-1,未找到
有一个叫Locutus的项目,它在Javascript和in_array()中实现了PHP函数,你可以像在PHP中使用一样使用它。
用法示例:
in_array('van', myArray);
in_array(1, otherArray, true); // Forcing strict type
如果你打算在一个类中使用它,如果你希望它是功能性的(并且在所有浏览器中工作):
inArray: function(needle, haystack)
{
var result = false;
for (var i in haystack) {
if (haystack[i] === needle) {
result = true;
break;
}
}
return result;
}
希望它能帮助到一些人:-)
haystack.find(value => value == needle)
其中haystack是一个数组,needle是数组中的一个元素。如果元素未找到,则返回未定义,否则返回相同的元素。
PHP:
if (in_array('a', ['a', 'b', 'c'])) {
// do something if true
}
我在JS中的解决方案:
if (['a', 'b', 'c'].includes('a')) {
// do something if true
}