gpt4 book ai didi

javascript - 如何保留 "for in"范围之外的对象键名称? JavaScript

转载 作者:行者123 更新时间:2023-12-02 20:13:56 25 4
gpt4 key购买 nike

问题:for in 退出后如何保留键名。如果我将键字符串分配给“for in”范围之外的变量,它就会变成一个数字。有什么办法可以防止这种情况并维护 key 名称吗?谢谢

示例:

var lastItem = undefined;

function getKeyNames(obj, key, val) {
var objects = [];
for (var i in obj) {
if (!obj.hasOwnProperty(i)) continue;
if (typeof obj[i] == 'object') {
lastItem = i;
objects = objects.concat(getObjects(obj[i], key, val));
} else if (i == key && obj[key] == val) {
alert (lastItem);
objects.push(obj);
}
}
return objects;
}
alert (lastItem);

函数内部(以及 for in 内部)的警报输出键的实际字符串名称,但是当我在函数外部发出警报时,我得到一个数字。有什么想法如何保留键的字符串名称吗?只是为了明确起见,我不是在谈论对象的值,而是在谈论键的实际名称。

最佳答案

工作正常:

var foo = { foo : 22, bar : 42 };
for(var i in foo);
alert(i); // "bar"

您到底要传递给该函数什么?

关于javascript - 如何保留 "for in"范围之外的对象键名称? JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6591340/

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