gpt4 book ai didi

javascript - 将动态属性添加到对象末尾

转载 作者:行者123 更新时间:2023-12-03 07:04:30 27 4
gpt4 key购买 nike

我正在创建一个对象并动态设置其属性并将其推送到数组,如下所示:

var modelData = [];
var data = {}
data['rain'] = '123';
var items = [{name: 'prod', default_id: 1}, {name: 'dev', default_id: 2}]
for (var i = 0; i < items.length; i++) {
var id = items[i].name;
data[id] = items[i].default_id;
}
modelData.push(data)

这工作正常,但默认情况下它按升序添加属性。我希望将其添加到对象的末尾,因此我的属性将是 rain, prod, dev 而不是 dev, prod, rain

这可能吗?

看到这个jsfiddle控制台为例。

最佳答案

JS 中的对象没有保证的顺序。您可以获得的最接近的东西是数组的数组:

var ordered_object = [];
ordered_object.push(['rain', 'First element']);
ordered_object.push(['prod', 'Second element']);
ordered_object.push(['dev', 'Third element']);
ordered_object.forEach(function(pair) {
var key = pair[0],
value = pair[1];

console.log(key + ': ' + value);
});

它将被排序,但是获取“属性”的值(它们不再是真正的属性)有点困难:

function get_value(ordered_object, key) {
for (var i = 0; i < ordered_object.length; i++) {
if (ordered_object[i][0] === key) {
return ordered_object[i][1];
}
}
}

关于javascript - 将动态属性添加到对象末尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36886630/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com