Javascript 对象数组文字的可靠长度
Reliable lengths for a Javascript object array literal?
有很多这样的问题,但是...咄......我无法让它工作。 我怎么...取一个对象文字,如下所示:
locations = {};
locations.activities = [
{ text:'biking'},
{ text:'hiking'},
{ text:'boating'},
{ text:'studying'},
{ text:'reading'},
];
并打印出活动数组值?
IE和Firefox的长度不同(分别为6和5(。
谢谢
问题是尾随逗号:出于跨浏览器兼容性的原因将其删除。
导致不一致的行为是因为某些浏览器在存在尾随逗号时错误地解析文本1。正确的行为是忽略尾随逗号2:
如果在数组的末尾省略了一个元素(即 [...,](,则该元素不会增加数组的长度。
1 语法在 IE10 中工作正常,但在 IE9 及更早版本中不正确。这可以通过在相关浏览器模式下从控制台测试[1,].length
来验证。报告的值分别为 1(正确(和 2(不正确(。
2 尾随逗号与[,]
相关,应等效于 [undefined]
。
使用 JSON.stringify(locations.activities);
试试这个
locations = {};
locations.activities = [
{ text:'biking'},
{ text:'hiking'},
{ text:'boating'},
{ text:'studying'},
{ text:'reading'},
];
$.each(locations.activities, function(){
alert(this.text);
});
JS在这里小提琴 http://jsfiddle.net/mhnHx/
相关文章:
- Javascript(Angular)从一个对象数组到第二个数组查找值
- 在Javascript中转换对象数组
- 在JavaScript中通过索引从对象数组中获取值
- Backbone虹吸以获取对象数组
- 如何在DataTables 2.1中迭代对象数组
- Javascript-根据赋值顺序,按键合并对象数组
- 将事件附加到对象/数组
- jQuery$.inArray()总是返回-1和一个对象数组
- javascript处理一个对象数组以获得一个新的对象数组
- javascript在数组中获取对象数组中键的所有不同值
- 在对象数组中查找多个值的d3范围
- Undercore.js获取对象数组中键对象的值
- 在mongoose中使用正则表达式在对象数组中进行查询搜索
- 如何通过json对象数组为嵌套对象赋值
- 如何循环通过2个对象数组并通过匹配id进行合并
- 为对象数组创建列表项
- 如何使用javascript合并两个对象数组
- JSON到对象数组,并向每个对象添加项
- JavaScript:从对象数组中获取唯一值及其计数
- 按不同项目对对象数组进行排序