gpt4 book ai didi

javascript - 什么是找出对象是否为数组的最佳方法

转载 作者:可可西里 更新时间:2023-11-01 02:08:42 25 4
gpt4 key购买 nike

据我所知,有三种方法可以判断一个对象是否是一个数组

通过 isArray 函数实现

Array.isArray()

通过 toString

Object.prototype.toString.apply( obj ) === "[object Array]"

并通过instanceof

obj instanceof Array

是否有任何理由选择其中之一?

最佳答案

最好的方法可能是使用标准 Array.isArray() ,如果它是由引擎实现的:

isArray = Array.isArray(myObject)

MDN建议在未实现 Array.isArray 时使用 toString() 方法:

Compatibility

Running the following code before any other code will create Array.isArray if it's not natively available. This relies on Object.prototype.toString being unchanged and call resolving to the native Function.prototype.call method.

if(!Array.isArray) {  
Array.isArray = function (arg) {
return Object.prototype.toString.call(arg) == '[object Array]';
};
}

jQuery 和 underscore.js[source]采用 toString() === "[object Array]" 方式。

关于javascript - 什么是找出对象是否为数组的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7447425/

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