JS遍历对象

数学光

首先,我很抱歉,因为这可能非常简单。但是我在PHP中工作很多,但是该语法在JS中不起作用。

我有以下代码:

var rangeArr = [];

// This piece is inside an loop of adding elements...
rangeArr[row_id] = {"row_x": row_x, "row_y": row_y, "row_name": row_name, "row_dir": row_dir, "row_length": row_length, "row_height": row_height};
        row_id++;

我将获得该对象的实例(从Chrome控制台获取):

rangeArr
[undefined × 1, 
Object
    row_dir: "lr"
    row_height: "6"
    row_length: "5"
    row_name: ""
    row_x: 45
    row_y: 71
    __proto__: Object
    , 
Object
    row_dir: "lr"
    row_height: "6"
    row_length: "6"
    row_name: ""
    row_x: 95
    row_y: 208
    __proto__: Object
]

我正在使用以下代码循环遍历对象数组:

for (var item in rangeArr) {
    if(typeof(item) !== 'undefined'){
        console.log(item.row_x);
    }
}

但是我只会得到未定义的错误...当我查看控制台日志时,整个item只包含row_id这意味着只检索索引,而不检索对象本身。

如前所述,我对JS Objects几乎一无所知,但是我认为这是正确的方法。

那么如何使我的代码起作用,以便在需要时可以接收数据?

先生代码

for in循环中,item实际上是数组键,而不是数组元素值。要获取对象,请使用rangeArr[item]

for (var item in rangeArr) {
    var obj = rangeArr[item];
    if(typeof(obj) !== 'undefined'){
        console.log(obj.row_x);
    }
}

也就是说,for in循环在数组上是个坏主意。基本的增量for循环或aforEach是首选。有关更多信息,请参考此问题


看来您是在手动生成增量密钥。取而代之的是,您可能更喜欢使用Array.prototype.push()

rangeArr.push({"row_x": row_x, "row_y": row_y, "row_name": row_name, "row_dir": row_dir, "row_length": row_length, "row_height": row_height});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

灰尘js循环遍历json中的对象

来自分类Dev

遍历somes对象js

来自分类Dev

Angular.js ngOptions遍历JSON对象

来自分类Dev

dot.js遍历对象

来自分类Dev

车把js不遍历对象

来自分类Dev

如何遍历immutable.js对象/地图/列表

来自分类Dev

如何使用React.js在JSX中遍历对象

来自分类Dev

如何遍历Cheerp / js中的动态命名对象?

来自分类Dev

JS循环遍历对象数组以删除条目

来自分类Dev

在React JS中遍历数组的对象

来自分类Dev

在Vue JS中遍历axios.get请求内的对象

来自分类Dev

遍历对象的对象

来自分类Dev

遍历并检查对象TS / JS的类型

来自分类Dev

遍历数组JS中的对象

来自分类Dev

灰尘js循环遍历json中的对象

来自分类Dev

如何使用Ext.iterate(或JS)遍历对象数组?

来自分类Dev

遍历对象

来自分类Dev

JS遍历对象

来自分类Dev

Angular.js ngOptions遍历JSON对象

来自分类Dev

如何在JS中遍历多级对象?

来自分类Dev

遍历dom并选择每个输入框对以创建js对象

来自分类Dev

如何使用angular js遍历JSON对象

来自分类Dev

把手js,获取特定的对象数组并循环遍历

来自分类Dev

如何遍历Node.js中的对象列表

来自分类Dev

遍历对象属性,其中之一是数组(JS)

来自分类Dev

通过handlebars.js中的动态属性遍历对象

来自分类Dev

如何在js中遍历数组中的对象

来自分类Dev

使用 forEach 遍历 vanilla JS 中的数组对象

来自分类Dev

如何循环遍历 Node.js 中的 GraphTraversal 对象?