gpt4 book ai didi

javascript - 将 javascript 对象转换为数组。如何?

转载 作者:行者123 更新时间:2023-12-03 21:40:57 24 4
gpt4 key购买 nike

我做了这个沙盒测试:

<html>
<head>
<title>whatever</title>
<script type="text/javascript">
function myLittleTest() {
var obj, arr, armap;

arr = [1, 2, 3, 5, 7, 11];

obj = {};
obj = arr;
alert (typeof arr);
alert (typeof obj);

// doesn't work in IE
armap = obj.map(function (x) { return x * x; });
alert (typeof armap);

}
myLittleTest();
</script>
</head>
<body>
</body>
</html>

我意识到我可以使用 jQuery 的函数 $.map 来使这行代码工作,但是,我在 javascript 数据类型上缺少什么?

最佳答案

现代答案

如果您有一个可迭代对象,则可以使用扩展运算符。

var a = [...o];

如果您有一个类似数组的对象(例如 arguments),您可以通过调用 Array.from(o) 来获取由它组成的真实数组。 .

var o = {0:"a", 1:'b', length:2};
var a = Array.from(o);

a 将是 ["a", "b"]。仅当您正确设置 length 属性时,此方法才有效。

<小时/>

旧答案

如果你有一个类似数组的对象(例如arguments),你可以通过调用Array.prototype.slice.call(o )

var o = {0:"a", 1:'b', length:2};
var a = Array.prototype.slice.call(o);

a 将是 ["a", "b"]。仅当您正确设置 length 属性时,此方法才有效。

关于javascript - 将 javascript 对象转换为数组。如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3865139/

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