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

我是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] === "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不希望这样。他在问一些无效的问题。