Javascript 如果键值为number,如何更改对象中的键?
我是javascript新手,有一个问题:例如,如果键的值是number,我想更改键。我的代码怎么了Javascript 如果键值为number,如何更改对象中的键?,javascript,Javascript,我是javascript新手,有一个问题:例如,如果键的值是number,我想更改键。我的代码怎么了 const order = { wine : 100, vodka : 200, beer : 300, whisky : "not in stock" }; function change(obj) { for (var prop in obj) { if (typeof obj[prop] === "nu
const order = {
wine : 100,
vodka : 200,
beer : 300,
whisky : "not in stock"
};
function change(obj) {
for (var prop in obj) {
if (typeof obj[prop] === "number") {
prop = "is number";
}
}
}
change(order);
console.log(order);
我希望输出是
is number : 100,
is number : 200,
is number: 300,
whisky : "not in stock"
当你这么做的时候
prop=“是数字”
它将“is number”赋值给一个名为“prop”的变量。如果要更改密钥,请删除现有密钥并创建一个新密钥
此外,关键点在对象中是唯一的。不能有多个同名键
function change(obj) {
for (var prop in obj) {
if (typeof obj[prop] === "number") {
obj["is number"] = obj[prop];
delete obj[prop];
}
}
}
若要更改键的值为数字,则需要首先克隆键和值。 然后你需要删除对象中的键,一旦它被删除,它应该被再次注入到对象中
`function change(obj) {
for (var prop in obj) {
if (typeof obj[prop] === "number") {
obj['is_number_' + obj[prop]] = obj[prop]
delete obj[prop]
}
}
}`
结果应该是这样的:
电话号码是100:100,
电话号码是200:200,
电话号码是300:300,
威士忌:“没有存货”你期待什么?输出是什么?你没有改变对象本身,你只是在function@SajeebAhamed我把我的头发弄脏了question@expressjs123我如何编辑它?你能解释一下吗?一个物体不能多次使用同一把钥匙。它们将相互覆盖同一个对象中不能存在相同的密钥。是。。由于键是唯一的,因此它只有1个“is number”键。如果他在一个循环中运行这个,“is number”将有400个“is number”的值,每次有一个数值时都会被覆盖。是的,OP不希望这样。他在问一些无效的问题。