文档介绍:关于数组的前端面试题1、如何判断一个变量是否为数组?(1)为什么不用typeof?varlist=[1,2,3];typeoflist//"object"Array继承与Object,所以typeof会直接返回object,所以不可以用typeof方法来检测(2)为什么不用instanceof?varlist=[1,2,3];listinstanceofArray//trueinstanceof表面上看确实是返回了true,但其实并不可靠。原因是Array实质是一个引用,用instanceof方法(包括下面的constructor方法)都是利用和引用地址进行比较的方法来确定的,但是在frame嵌套的情况下,每一个Array的引用地址都是不同的,比较起来结果也是不确定的,所以这种方法有其局限性。(3)为什么不用constructor方法?varlist=[1,2,3];===Array;//true原因已经解释过了,不再赘述。可靠的检测数组方式(1)利用Object的toString方法varlist=[1,2,3];(list);//[objectArray](2)()方法varlist=[1,2,3];(list);//true2、数组的原生方法有哪些?一是考察面试者平时使用的是否足够平凡;二是观察面试者是否对于日常的知识有所归纳。可以用MDN中给出的方式来回答:(1)()在数组内部,将一段元素序列拷贝到另一段元素序列上,覆盖原有的值。()将数组中指定区间的所有元素的值,都替换成某个固定的值。()删除数组的最后一个元素,并返回这个元素。()在数组的末尾增加一个或多个元素,并返回数组的新长度。()颠倒数组中元素的排列顺序,即原先的第一个变为最后一个,原先的最后一个变为第一个。()删除数组的第一个元素,并返回这个元素。()对数组元素进行排序,并返回当前数组。()在任意的位置给数组添加或删除任意个元素。()在数组的开头增加一个或多个元素,并返回数组的新长度。(2)()返回一个由当前数组和其它若干个数组或者若干个非数组值组合而成的新数组。()判断当前数组是否包含某指定的值,如果是返回true,否则返回false。()连接所有数组元素组成一个字符串。()抽取当前数组中的一段元素组合成一个新数组。()返回一个表示当前数组字面量的字符串。