循环数组中的值赋值

时间:2013-10-10 08:31:20

标签: javascript

来自Flanagan的书中的代码:

var o = {x:1, y:4};
var keys = Object.keys(o);
var values = [];

console.log(keys); //[ 'x', 'y' ]

for (var i = 0; i < keys.length; i++) {
  var key = keys[i];
  values[i] = o[key];
}

console.log(values); //[ 1, 4 ]

为什么需要首先将密钥[i]存储在一个关键变量中,以便在刚刚之后访问该行的属性VALUES?为什么我们不能只放置值[i] = o [keys](返回undefined undefined)? “key”是一个任意变量名,我没有得到与o [key]建立o VALUES对应关系的魔力吗?

2 个答案:

答案 0 :(得分:0)

为了从o中提取值,我们需要值14,这些值存储在keys变量中,因此为了提取这些值我们需要从0开始循环它的值,尝试逐步查看

答案 1 :(得分:0)

Keys是获取密钥以获取值所需的数组,因此首先获取密钥并在密钥数组中搜索