one2one2 2011-04-18 11:28 采纳率: 0%
浏览 222
已采纳

关于js中关联数组的使用问题

两个例子
function test1() {
var array1 = { "A":"a","B":"b","C":"c" };
for (key in array1) { // 能够正常输出数组
alert('=1=1=====' + key);
alert('=1=2=====' + array1[key]);
}
}
function test2() {
var array2 = new Array();
array2["A"] = "a";
array2["B"] = "b";
array2["C"] = "c";
for (key in array2) { // 在输出正确数组前,会先输出许多函数信息
alert('==1=====' + key);
alert('==2=====' + array2[key]);
}
}
在test1中直接定义数组能够正常输出;而在test2中用Array 定义数组则会输出很多函数信息,这是为什么呢,两种数组定义的方式有什么区别呢?

  • 写回答

1条回答 默认 最新

  • up2vs 2011-04-18 13:13
    关注

    javascript 里 {}不能称作数组,应该属于object类型。

    而new Array 出来的是Array类型。虽然javascript 中任何类型都是object,但是Array 的实例中已经带有很多和array相关的实例方法。例如 indexOf\slice\。。。。

    var array2 = new Array();

    直接这样即可:

    var array2 = {};或var array2 = new Object();

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?