JavaScript 数组中的字符串索引
String index in a JavaScript array
除了数组索引的数字之外,我还想使用特定的字符串,
我这样做
var array = new Array();
$(document).ready(function(){
array = addToArray();
console.log("array size " + array.length);
});
function addToArray(){
var i = 0;
var tmpArray = new Array();
while(i<10){
if(i>9){
addToArray();
i++;
}
else{
tmpArray["elem"+i] = "i";
console.log(tmpArray["elem"+i]); // It prints out!!!
i++;
}
}
console.debug(tmpArray);
return tmpArray;
}
当我打印出tmpArray时,它是空的。大小也是 0。当我从数组索引中删除"elem"时,它可以正常工作。我该怎么办?
下面是一个真实的例子:http://jsfiddle.net/dfg3x/
JavaScript没有
像PHP和其他一些语言那样的字符串数组键。您所做的是将名为 elem + i
的属性添加到 tmpArray
对象。它不会影响数组的 .length
属性,即使该属性存在且可访问,并且无法通过数组方法访问
.pop(), .shift()
也许相反,您应该将tmpArray
声明为对象文字,因为您似乎没有将其与任何数字键一起使用。
function addToArray() {
var i = 0;
// Make an object literal
var tmpObj = {};
while(i<10) {
if(i>9) {
addToArray();
i++;
}
else {
tmpObj["elem"+i] = "i";
console.log(tmpObj["elem"+i]); //it prints out !!!
i++;
}
}
console.debug(tmpObj );
return tmpObj ;
}
相关文章:
- AngularJS-ng使用字符串索引在数组上重复
- 在 JavaScript 中动态创建带有字符串索引的二维表
- 按字符串索引的 Javascript 数组
- 按字符串索引访问字典对象
- 每个和字符串索引
- 使用字符串中的开始和结束单词以及 javascript 中的子字符串索引查找子字符串
- JavaScript 数组中的字符串索引
- 如何从数组中删除特定元素?与字符串索引
- Why for var在数组中返回一个字符串索引
- 为什么数组中的字符串索引不会增加'长度'
- 字符插入错误的字符串索引
- Javascript字符串索引
- 如何在不计算扩展实体的情况下找到标记(元素)的字符串索引?
- 如何忽略字符串索引中的空格,并在句子中的每个单词上以大写字母开头
- Jquery的每个函数都不能用于字符串索引数组
- 为什么IE's插入符在文本输入中的位置不等于字符串索引?解决方法是什么?
- 字符串索引器在本地工作,但在网站托管时不起作用
- 在Javascript中迭代由字符串索引的数组
- 在javascript中创建两个数组的字符串索引对象
- 如何创建具有字符串索引的二维对象并循环遍历结果