gpt4 book ai didi

javascript - 在 javascript 对象中,获取值的属性的最佳方法是什么?

转载 作者:行者123 更新时间:2023-11-28 16:22:39 25 4
gpt4 key购买 nike

如果我们有一个 javascript 对象

var calories = { apple:200, pear:280, banana:300, peach:325 }

找到(第一个)含有 280 卡路里的水果的最佳方法是什么?

可以Object.getOwnPropertyNames(calories).forEach...但应该有更好的方法。

例如,我正在考虑 Array.prototype.indexOf() 它对数组执行相同的操作。

最佳答案

小心!不保证所有浏览器返回相同的结果。事实上他们没有。

例如:

var x = { a: 1, b: 1 };
delete x.a;
x.a = 1;

这里x.indexOf(1)应该返回什么? b还是a?事实证明,IE 的属性枚举方式与其他浏览器不同,并且规范表明这完全没问题。因此 IE 将返回 a,而其他浏览器将返回 b

您可以通过调用来验证

Object.getOwnPropertyNames(x); // IE: a,b - other browsers: b,a
Object.keys(x); // same
for (var i in x) { console.log(i); } // same

显然,这里的问题是对象索引上没有“顺序”的概念,因为,这就是对象:无序映射。

关于javascript - 在 javascript 对象中,获取值的属性的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9052888/

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