JQuery 动态对象名称

切斯特

我有这个对象列表

var depts = [
  {name:"Sales", phone1:"1.1", phone2:"1.2", phone3:"1.3"},
  {name:"Technical", phone1:"2.1", phone2:"2.2", phone3:"2.3"}
  {name:"Parts", phone1:"3.1", phone2:"3.2", phone3:"3.3"}
]

我想遍历部门并检查它是否是电话号码并遍历每个电话。

$.each (depts, function(i, v) {
    var i
    for (i = 0; i < 3; i++) {
        phones += v.phone+i + ' ~ '    //This is where I'm having trouble getting.
    };

    console.log(v.name + ' - ' + phones)
});

我想要达到的结果是这样的:

Sales - 1.1 ~ 1.2 ~ 1.3
Technical - 2.1 ~ 2.2 ~ 2.3
Parts - 3.1 ~ 3.2 ~ 3.3

我已经尝试了以下

v.window['phone'+i]
window[v+'.phone'+i]
window['v.phone'+i]

但我越来越不确定了。

卡布拉平托

问题是您正在尝试v.phone + i添加iv.phone. 相反,你应该这样做v[phone + i]

另外,我会为此使用Array.prototype.forEach它,尽管这是您的选择:

depts.forEach(dept => console.log(`${dept.name} - ${Array.from({length: 3}, (_, i) => dept[`phone${i + 1}`]).join(' ~ ')}`));

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章