建议9:正确检测数组类型

Posted chorkiu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了建议9:正确检测数组类型相关的知识,希望对你有一定的参考价值。

  由于数组和对象的数据同源性,导致在javascript编程中经常会出现:在必须数组时用了对象,在必须用对象时用了数组.

  typeof检测数组的类型时object,没有意义,所以这里可以通过自定义一个is_array函数来你部缺陷

var is_array = function(value){
  return value && typeof(value) === ‘object‘ && value.constructor === Array;
}

  但是,上面函数在识别从不同的窗口(window)或帧(frame)中构造的数组时会失败,要想准确地检测外部数组类型,还要进一步完善

var is_array = function(value){
  return Object.prototype.toString.apply(value) ===‘[Object Array]‘
}

以上是关于建议9:正确检测数组类型的主要内容,如果未能解决你的问题,请参考以下文章

JS数组类型检测

什么才是正确的javascript数组检测方式

这是检查空数组的正确方法吗?

使 PHP 代码更加简洁的几个小技巧

在一个无序整数数组中,找出连续增长片段最长的一段, 增长步长是1。Example: [3,2,4,5,6,1,9], 最长的是[4,5,6]

为什么我不能在此片段中生成唯一对象数组?