Jquery的每个函数都不能用于字符串索引数组
Jquery each function not working for string indexed arrays
我不能得到$.each() jquery函数与字符串索引数组工作,任何想法在什么问题?
示例@ JSFiddle ->http://jsfiddle.net/WKDUA/
代码:var firstArray = [52, 33];
document.writeln("First Array:'n<ul>");
$.each(firstArray, function(key, value)
{
document.writeln('<li>[' + key + ']: ' + value + "</li>'n");
});
document.writeln("</ul>'n");
var secondArray = new Array();
secondArray['first'] = 'foo';
secondArray['second'] = 'bar';
document.writeln("Second Array:'n<ul>");
$.each(secondArray, function(key, value)
{
document.writeln('<li>[' + key + ']: ' + value + "</li>'n");
});
document.writeln("</ul>'n");
输出:First Array:
[0]: 52
[1]: 33
Second Array:
数组始终以表示元素位置的整数作为索引。
你正在寻找一个对象,它的属性可以通过括号符号来访问:
var obj = {};
obj['first'] = 'foo';
obj['second'] = 'bar';
document.writeln("Second Array:'n<ul>");
$.each(obj, function(key, value)
{
document.writeln('<li>[' + key + ']: ' + value + "</li>'n");
});
document.writeln("</ul>'n");
在您的原始代码中,$.each
块从未被输入,因为您没有向数组中添加任何元素。您确实在该数组上定义了属性first
和second
并为它们赋值。
例子: http://jsfiddle.net/ddTPu/
字符串索引数组。关联数组)是对象,而不是数组。
数组的索引只能是数字(甚至可以是Math)。PI,因为它是一个数字)。
解决方案是将secondArray声明为一个对象:
var secondArray = {};// or var secondArray = new Object();
相关文章:
- 用于查找子字符串的Regex
- Regex,用于从字符串中筛选关键字
- Javascript-正则表达式,用于在未转义字符上拆分字符串,例如|,但忽略|
- JavaScript Regex,用于由特定字符串包围的数字和空格
- Regex模式,用于检查字符串中每个单词的第一个字母(如果是Javascript中的大写字母)
- 用于刷新的Javascript更改查询字符串
- javascript正则表达式,用于匹配带数字和不带数字的字符串
- Unicode字符串替换不适用于完整的变音符号阿拉伯文本
- Javascript中的正则表达式,用于只有数字的字符串,并且不应在除数字以外的任何位置包含任何字符
- 正则表达式,用于从html格式的字符串中提取文本
- Json和$scope的角度之间的差异$eval应用于JSON字符串时
- Javascript CharAt 方法不适用于字符串
- 更少的js modifyVars不适用于字符串路径
- 替换在获取时不适用于字符串,但在硬编码时将起作用
- jQuery html()不适用于字符串
- 用于字符串参数的Javascript*和*运算符
- 用于字符串组合和序列规则的正则表达式角2
- Jquery的每个函数都不能用于字符串索引数组
- underscore.js _.其中用于字符串和对象
- jQuery的原因.Unique不能用于字符串或数字数组