jQuery 搜索数组数组
jQuery Searching an Array of Arrays?
我有以下内容,我正在尝试弄清楚如何搜索对象数组 - call()
函数被多次调用?
var arr = [];
var newData;
function call() {
newData = $('a').attr('href');
if($.inArray(newData, arr) == -1) {
$.post('/blah', function(data) {
arr.push(data);
});
}
}
data
就像[object{ }]
所以arr
变得[[object{id='1', myUrl=''}], [object{id='2', myUrl='' }]]
。
我想弄清楚的是newData
是否包含在arr
中?
如果数组包含对象,则$.inArray
将不起作用。 这是因为对象只有在是同一对象时才相等,而不仅仅是包含相同的值。
$.inArray
在这里也不起作用,因为newData
是一个字符串。 它不会为你搜索每个对象,你需要自己,用你自己的循环。
像这样:
newData = $('a').attr('href');
$.each(arr, function(){
if(this.myUrl === newData){
$.post('/blah', function(data) {
arr.push(data);
});
return false; // break once a match is found
}
});
数组
arr
将包含一个对象列表。 为什么newData
会被"包含"在arr
内? 它们是两个独立的变量。
更新 - 经过进一步检查,此行不好:
if($.inArray(newData, arr) == -1) {
你本质上是在说在arr(它是空的(中寻找newData。
更新 - 这是一些应该可以工作的示例代码。 在这里,我将数据视为具有名为"url"的属性的普通旧对象(而不是对象数组(。
http://jsfiddle.net/nWh6N/
相关文章:
- 使用javascript搜索具有用户输入的数组
- 在mongoose中使用正则表达式在对象数组中进行查询搜索
- 使用数组向下搜索Javascript对象
- 具有嵌套对象数组的 Javascript 对象的递归搜索函数
- jQuery-在数组中搜索类似的元素
- Javascript:使用用户输入搜索数组
- findAndModify,如何对文档进行操作's数组搜索对象并更改字段值
- 在记录数组搜索后追加变量和数组项
- 按第一个字符进行数组搜索
- 更高效的数组搜索
- Javascript数组搜索并删除字符串
- JavaScript中的二进制数组搜索
- 在JavaScript中有更好的方法吗?使用while进行数组搜索
- Javascript中的数组搜索不工作
- 如何用输入数组搜索对象
- 这是更有效的JavaScript数组搜索或MySQL LIKE查询
- Javascript或PHP数组搜索像SQL % search %
- Js数组搜索功能,适用于ie8
- 从Python到Javascript的2D数组搜索
- Javascript数组搜索