JAVASCRIPT的数组,可以用字符做下标?

发布网友 发布时间:2022-04-23 16:36

我来回答

5个回答

懂视网 时间:2022-05-17 22:27

Array是从Object那里继承下。它具备Object所有的功能和特性。下面是Object的情况:
新建: var object = new Object();
增加: object[strIndex ] = value; (strIndex 为string)
删除: delete object[strIndex ];
遍历: for ( var strObjIndex in object ) object[strObjIndex ];
如下:

代码如下:
var obj = new Object();
obj["first"] = "my";
obj["second"] = "name";
obj["third"] = "is";
obj["fourth"] = "chenssy";

因为Array继承Object,那么Array也是可以用字符串作为数组下标的:
如下

代码如下:
var array = new Array();
array["first"] = "my";
array["second"] = "name";
array["third"] = "is";
array["fourth"] = "chenssy";

对于array数字的遍历,我们采用for循环语句。但是这个for循环并不是这个形式:

代码如下:
for(int i = 0;i

我们可以利用for/in循环把该数组进行遍历。for/in循环把某个数组的下标临时赋给一个变量:

代码如下:
1for(variable in array)

在第一个循环时,变量variable将被赋值为数组array的第一个元素的下标值;在第二次循环时,变量variable将被赋值为数组array的第二个元素的下标值;依次类推.......
对于上面的array数组,利用for/in循环遍历:
代码如下:
for(key in array)

热心网友 时间:2022-05-17 19:35

数组本身也是个对象,比如说 var arr=['zero','one','two']; 等价于(但不是完全等于)下面的json对象:

var arr = {
    '0':'zero',
    '1':'one',
    '2':'two'
};

而当你 arr.x = 'X'; 时,arr等价于:

var arr = {
    '0':'zero',
    '1':'one',
    '2':'two',
    'x':'X'
};

所以这么做是合法的。

追问为什么你在百度写的代码有行号和颜色?

追答这是百度知道提供的代码样式。你去回答别人的与程序有关的提问时就会看到的。

热心网友 时间:2022-05-17 20:53

数组按理说必须要支持设置键名才好用,但是在js里,可以直接用{name:'john'}这样的js对象取代数组。

var person = {firstName:"John", lastName:"Doe", age:46};
console.log(person.firstName);

热心网友 时间:2022-05-17 22:28

首先这样写是合法的。

数组不推荐这样使用。

数组本身也是一个javascript对象,因此给数组声明添加属性是可行的。

热心网友 时间:2022-05-18 00:19

你这个不是下标,而是属性。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com