每个和字符串索引
each and string index
我有一个同时包含整数和字符串索引的数组。
出于某种原因,似乎 $.each 没有正确迭代字符串索引。
以下输出为:
IDX: 0123
IDX: 1456
IDX: 2789
//实际IDX: 3一个bC
//预期IDX:ABC101112
这是我测试的代码:
<html>
<head>
<title>jQuery - each</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
var a = new Array();
a.push(0);
a[0] = [1, 2, 3];
a.push(1);
a[1] = [4, 5, 6];
a.push(2);
a[2] = [7, 8, 9];
a.push("abc");
a["abc"] = [10, 11, 12];
$.each(a, function (idx, v) {
alert("idx: " + idx);
alert(v[0]);
alert(v[1]);
alert(v[2]);
});
});
</script>
</head>
<body>
</body>
非常感谢您的帮助,
理查德·休斯
像
这样更改代码:
$(document).ready(function () {
var a = {};
a['0'] = [1, 2, 3];
a['1'] = [4, 5, 6];
a['2'] = [7, 8, 9];
a['abc'] = [10, 11, 12];
$.each(a, function (idx, v) {
console.log("idx %s : %s, %s, %s", idx, v[0], v[1], v[2]);
});
});
这将返回
idx 0 : 1, 2, 3
idx 1 : 4, 5, 6
idx 2 : 7, 8, 9
idx abc : 10, 11, 12
请注意,当您使用字符串作为索引时,您的数据结构是一个对象(而不是数组)
javascript 中没有字符串索引数组,需要使用 object。
var a = {};
a[0] = [1, 2, 3];
a[1] = [4, 5, 6];
a[2] = [7, 8, 9];
a["abc"] = [10, 11, 12];
$.each(a, function (idx, v) {
alert("idx: " + idx);
alert(v[0]);
alert(v[1]);
alert(v[2]);
});
Jquery $.each 遍历对象的属性或数组,而不是两者兼而有之。jQuery
jQuery.each( collection, callback(indexInArray, valueOfElement) )
collection: The object or array to iterate over.
相关文章:
- NodeJS在一个较大的字符串中获取一个字符串的索引
- DynamoDB Vogels中索引字符串集的ValidationException
- AngularJS-ng使用字符串索引在数组上重复
- 到UpperCase字符串Javascript中的特定字符索引
- 用类javascript包装span标记中字符串中的字符索引
- 如何使用Jscript | JQuery在textArea中获取插入的|删除的字符串的索引和长度
- 使用JQuery检查数组的索引中是否存在字符串
- 在从索引位置返回的字符串中查找空白
- 查找字符串及其索引中的最大数字
- 如何检查数据表是否有任何包含字符串的行并获取它的行索引
- 在 JavaScript 中动态创建带有字符串索引的二维表
- 获取字符串中的匹配项数组作为索引
- 查找数组中项目包含子字符串的索引
- 索引a“/"在字符串中
- Googlebot 索引字符串作为 JavaScript 中的 URL
- 如何允许另一个索引字符串运行脚本
- 如何将变量名转换为对象jQuery的索引字符串
- JavaScript for loop:为什么在这种情况下索引字符串的类型
- OnClick索引字符串
- 删除数组中每个索引字符串的第一个字母