相关疑难解决方法(0)

如何循环或枚举JavaScript对象?

我有一个像以下JavaScript对象:

var p = {
    "p1": "value1",
    "p2": "value2",
    "p3": "value3"
};
Run Code Online (Sandbox Code Playgroud)

现在我想通过所有回路p元素(p1,p2,p3...),并得到他们的键和值.我怎样才能做到这一点?

如有必要,我可以修改JavaScript对象.我的最终目标是遍历一些键值对,如果可能的话,我想避免使用eval.

javascript each loops

2704
推荐指数
38
解决办法
180万
查看次数

JavaScript 数组如何具有非数字键?

我学到的是数组是一种对象。对象是具有键/值对的属性集合。我一直认为数组是从 0 开始数字索引的项目的集合。就在最近,我能够向数组添加一个非数字键。

let arr = ['cribriform plate','mastoid','hyoid'];
arr.eyes = 'brown';
arr.skin = 'white';
Run Code Online (Sandbox Code Playgroud)

这导致

['cribriform plate','mastoid','hyoid',eyes : 'brown', skin : 'white'];
Run Code Online (Sandbox Code Playgroud)

arr 的 for...in 循环产生了:

for(let i in arr){
    console.log(i);
    //0,1,2,3,eyes,skin
}
Run Code Online (Sandbox Code Playgroud)

for...of 循环产生:

for(let i of arr){
     console.log(i);
     //0,1,2,3
}
Run Code Online (Sandbox Code Playgroud)

我能够使用 for...in 循环遍历数组的所有键。但是,当我使用 for...of 循环时,我只能迭代数字索引键。这是为什么?

而且,数组最准确的定义是什么?

javascript arrays object

4
推荐指数
1
解决办法
2650
查看次数

标签 统计

javascript ×2

arrays ×1

each ×1

loops ×1

object ×1