pal*_*laa 3 javascript arrays indexing
我想把一个特定的字符串除了一个数字到数组的索引,
我是这样做的
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 ;
}
Run Code Online (Sandbox Code Playgroud)
当我打印出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 ;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12734 次 |
| 最近记录: |