因此,我是javascript编程的新手,我需要找出一种更改键名和对象值的方法。
这里是对象,我在一个名为json
的变量中:
{ 1079: "i",
1078: "h",
843: "g",
842: "f",
841: "e",
688: "d",
277: "c",
276: "b",
70: "a",
}
这是预期的console.log
:
{ name: 1079 value: "i",
name: 1078: value: "h",
name: 843: value:"g",
name: 842: value:"f",
name: 841: value:"e",
name: 688: value:"d",
name: 277: value:"c",
name: 276: value:"b",
name: 70: value:"a",
}
无论如何,感谢任何可以帮助我的人。
答案 0 :(得分:2)
对象中不能有相同的键,但是可以为数组中的每个对取一个对象。
由于键的对象在内部可以按索引读取,因此现在按数字顺序按键进行排序。
var object = { 1079: "i", 1078: "h", 843: "g", 842: "f", 841: "e", 688: "d", 277: "c", 276: "b", 70: "a" },
result = Object.entries(object).map(([name, value]) => ({ name, value }));
console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }
答案 1 :(得分:1)
这将起作用。如果您正在寻找它。
let obj = {
1079: "i",
1078: "h",
843: "g",
842: "f",
841: "e",
688: "d",
277: "c",
276: "b",
70: "a",
}
let result = Object.entries(obj).reduce((acc, [name, value]) => {
acc.push({
name,
value
})
return acc;
}, [])
console.log(result)
答案 2 :(得分:0)
var currentObj = { 1079: "i",
1078: "h",
843: "g",
842: "f",
841: "e",
688: "d",
277: "c",
276: "b",
70: "a",
};
var newObj = Object.keys(currentObj).map(x => { return { name: x, value: currentObj[x] };});
console.log(newObj);
答案 3 :(得分:0)
您可以使用Object.entries()
const data = {
1079: "i",
1078: "h",
843: "g",
842: "f",
841: "e",
688: "d",
277: "c",
276: "b",
70: "a",
};
function formatObject(obj) {
const arr = [];
Object.entries(obj).forEach(x => {
arr.push({
name: x[0],
value: x[1]
});
});
return arr;
}
const result = formatObject(data);
console.log(result);
答案 4 :(得分:0)
获取一个数组,根据需要填充它:
var json = { 1079: "i", 1078: "h", 843: "g", 842: "f", 841: "e", 688: "d", 277: "c", 276: "b", 70: "a" }
var arr = [];
for(k in json) arr.push({name:k, value:json[k]})
console.log(arr)