如何使用jquery $.each()方法迭代对象文本数组
How do I iterate over object literal array with jquery $.each() method?
如何用jquery $.each()方法迭代对象文字数组?
在chrome调试器中,它返回为"undefined, undefined"。
任何帮助都将非常感激。谢谢!
var links = [
{ className : 'hover', url : 'http://www.yahoo.com' },
{ className : 'hover-2', url : 'http://www.foxnews.com' },
];
loopy(links)
function loopy(obj){
$.each(
obj,
function(){
console.log(obj.className + ', ' + obj.url);
}
);
}
尝试:
$.each(
obj,
function(i, val){
console.log(val.className + ', ' + val.url);
}
);
$.each
函数形参有两个参数——数组中当前项的索引,第二个参数是数组的实际当前值。
查看API以获得更多的解释和示例。
你可以看到这个提琴,看看它的作用
我只是想提供David的响应的一个稍微修改的版本,当处理较大的对象时,它将对DOM更温和一些。
原答案(以上):
$.each(
obj,
function(i, val){
console.log(val.className + ', ' + val.url);
}
);
此解决方案有效,但它为对象中的每个属性生成一个全新的迭代器函数实例。没有必要这样做,我认为通过声明特定的方法来处理这类事情,您将在大型应用程序中找到更稳定的性能。
试试这个:
// Process a property in your link object
function links_iterationHandler(i, val) {
console.log(val.className + ', ' + val.url);
}
// Traverse the link object and pass each result off to the method above
$.each(obj, links_iterationHandler);
本质上做同样的事情,但是对DOM的影响没有那么大。如果对象中只有几个项目,这不是什么大问题。但是如果你要处理大量的数据,比如通过Ajax加载的大记录集,它肯定会有所不同。
干杯!
我会试试这个:美元。每个([52,97],函数(索引,值){Alert (index + ': ' + value);});
第一个属性是索引
http://api.jquery.com/jQuery.each/相关文章:
- 创建一个方法,通过一个窗口进行迭代并获取Titanium中的所有控件
- 使用Javascript迭代同级的最快方法是什么
- Javascript:如何迭代对象[Key:value],但跳过一些键([最快的方法])
- 迭代Promise迭代器的非递归方法
- 是否有可能在 JavaScript 中使用异步方法进行迭代
- JavaScript uncatch TypeError:无法在第二次迭代时调用未定义的方法“拼接”
- 每次迭代在 Foreach 循环中重复 PHP 睡眠方法
- 有没有办法迭代函数作用域内的公共方法
- 在 javascript 中 for 循环的每次迭代中声明一个新的、唯一的变量是一种好方法
- 在循环中使用 q promise 的最佳方法是什么?等待链完成,然后再迭代到下一个
- 是否可以在 ES6 Set 实例上使用数组迭代方法
- 是否可以使用 CoffeeScript 迭代类的静态变量和方法
- 为什么在 javascript 中向数组原型添加方法会破坏 for 循环上的迭代
- 这个迭代可以用一些更好的方法完成吗?
- 通过javascript对象数组进行迭代的不同方法
- 使用every()和其他迭代方法返回的次数
- 检查地图中是否有第一次迭代的方法
- For和While迭代方法的比较
- 为什么javascript中的迭代方法需要(item, index和array) ?
- JavaScript 数组迭代方法