找出JavaScript数组是否包含对象的最简洁有效的方法是什么?
这是我知道的唯一方法:
function contains(a, obj) {
for (var i = 0; i < a.length; i++) {
if (a[i] === obj) {
return true;
}
}
return false;
}
Run Code Online (Sandbox Code Playgroud)
有没有更好,更简洁的方法来实现这一目标?
这与Stack Overflow问题密切相关问题在JavaScript数组中查找项目的最佳方法是什么?它使用的方法寻找数组中的对象indexOf.
javascript arrays algorithm time-complexity javascript-objects
查找对象是否在数组中的最佳方法是什么?
这是我所知道的最佳方式:
function include(arr, obj) {
for(var i=0; i<arr.length; i++) {
if (arr[i] == obj) return true;
}
}
include([1,2,3,4], 3); // true
include([1,2,3,4], 6); // undefined
Run Code Online (Sandbox Code Playgroud) 我刚刚开始使用jquery,我真的很喜欢使用选择器.在我看来,成语将是一种非常好的遍历对象树的方法(例如,JSON查询结果).例如,如果我有这样的对象:
var obj = { 'foo': 1, 'bar': 2,
'child': { 'baz': [3, 4, 5] }
};
Run Code Online (Sandbox Code Playgroud)
我希望能够写出像$('child baz:last',obj)这样的东西并得到5.我认识到链接不起作用,但我仍然喜欢选择算子.任何人都知道这样的野兽是否存在,或者写一个最简单的方法是什么?