javascript的数组方法大全

目录
  • 1:concat();
  • 2:join();
  • 3:pop();
  • 4:shift();
  • 5:unshift();
  • 6:push();
  • 7:reverse();
  • 8:sort();
    • 8.1:
    • 8.2:
    • 8.3:排序问题
  • 9:slice();
  • 10:splice()
  • 11:toString();
  • 12:valueOf();
  • 13:IndexOf();
  • 14:lastIndexOf();
  • 15:forEach();
  • 16:map();
  • 17:filter();
  • 18:every();
  • 19:some();
  • 20.reduce();
  • 21.reduceRight()
  • 22 Array.from()
  • 23 Array.of()
  • 24 arr.copyWithin()
  • 总结

在日常开发中,我们会接触到js中数组的一些方法,这些方法对我们来说,可以很遍历的达到我们想要的结果,但是因为方法比较多,有些方法也不常用,可能会过一段时间就会忘记,那么在这里我整理了21个数组的方法,供大家查阅。

1:concat();

功能:合并数组,可以合并一个或多个数组,会返回合并数组之后的数据,不会改变原来的数组;

var str1 = [12,2,"hello"];var str2 = ["world"];
console.log(str1.concat(str2));        //[12, 2, "hello", "world"]
console.log(str1);                //[12,2,"hello"];

也可以使用es6的扩展运算符,不会改变原数组

let str3 = [...str1,...str2]

2:join();

功能:将数组转为字符串并返回转化的字符串数据,不会改变原来的数组;

注意:()中用双引号包括自己想用的分隔符,默认为逗号,这里方便观察,我用了-

var str1 = [12,2,"hello"];
var str2 = ["world"];
console.log(str1.join("-"));        //12-2-hello
console.log(str1);              //[12, 2, "hello"]

3:pop();

功能:删除数组的最后一位,并且返回删除的数据,会改变原来的数组

var str1 = [12,2,"hello"];console.log(str1.pop()        //helloconsole.log(str1);          //[12, 2]var str1 = [12,2,"hello"];
console.log(str1.pop()        //hello
console.log(str1);          //[12, 2]

4:shift();

功能:删除数组的第一位数据,并且返回新数组的长度,会改变原来的数组

var str1 = [12,2,"hello"];
console.log(str1.shift());      //12
console.log(str1);           //[2,"hello"]

5:unshift();

功能:在数组的首位新增一个或多数据,并且返回新数组的长度,会改变原来的数组

注意:unshift()方法返回的数据是新数组的长度,它增加的数据可以是一个也可以是多个,可以理解为增加一连串的数据,

var str1 = [12,2,"hello"];
var str2 = [43,2,"test"];
console.log(str1.unshift("你好"));              //4
console.log(str2.unshift("hello","world"));        //5
console.log(str1);                       //["你好", 12, 2, "hello"]
console.log(str2); 

6:push();

功能:在数组的最后一位新增一个或多个数据,并且返回新数组的长度,会改变原来的数组
注意:push()方法返回的是数据是新数组的长度,它增加的数据可以是一个也可以是多个,可以理解为增加一连串的数据

var str1 = [12,2,"hello"];
var str2 = [43,2,"test"];
console.log(str1.push("你好"));          //4
console.log(str2.push("hello","world"));    //5
console.log(str1);                 //[12, 2, "hello","你好"]
console.log(str2);                 //[43, 2, "test","hello", "world"]

7:reverse();

功能:将数组的数据进行反转,并且返回反转后的数组,会改变原数组

var str1 = [12,2,"hello"];
console.log(str1.reverse());      //["hello", 2, 12]
console.log(str1);            //["hello", 2, 12]

8:sort();

功能:对数组内的数据进行排序(默认为升序),并且返回排过序的新数组,会改变原来的数组

注意:

8.1:

这里的排序是针对字符的排序,先使用数组的toString()方法转为字符串,再逐位比较,3是大于12的,因为首位3>1,不要与Number型的数据排序混淆

8.2:

str2数组中增加了三个字符,可以看到,比较的时候,zoom是最大的,因为首位的英文字母通过ASCII码可以转为相应的数值,再根据数值比较

var str1 = [12,2,43,5,2,5];
var str2 = [92,2,43,"hello",5,2,5,"abc","zoom"];
console.log(str1.sort());        //[12, 2, 2, 43, 5, 5]
console.log(str1);            //[12, 2, 2, 43, 5, 5]
console.log(str2.sort());        //[2, 2, 43, 5, 5, 92, "abc", "hello", "zoom"]
console.log(str2);            //[2, 2, 43, 5, 5, 92, "abc", "hello", "zoom"]

8.3:排序问题

参数:sort(callback) 如果需要按照数值排序,需要传参。sort(callback),callback为回调函数,该函数应该具有两个参数,比较这两个参数,然后返回一个用于说明这两个值的相对顺序的数字(a-b)。其返回值如下:

若 a 小于 b,返回一个小于 0 的值。

若 a 等于 b,则返回 0。

若 a 大于 b,则返回一个大于 0 的值。

var str3 = [92,2,43,5,2,5];
console.log(str3.sort(fn));                 //[2, 2, 5, 5, 43, 92]
console.log(str3);                      //[2, 2, 5, 5, 43, 92]
function fn (a,b){
    return a-b;
 }

9:slice();

功能:截取指定位置的数组,并且返回截取的数组,不会改变原数组

参数:slice(startIndex, endIndex)

注意:可从已有的数组中返回选定的元素。该方法接收两个参数slice(start,end),strat为必选,表示从第几位开始;end为可选,表示到第几位结束(不包含end位),省略表示到最后一位;start和end都可以为负数,负数时表示从最后一位开始算起,如-1表示最后一位。

var arr = ["T1","J1","L1","L2","M1"];
console.log(arr.slice(1,3));        //["J1","L1"]
console.log(arr.slice(1));          //["J1","L1","L2","M1"]
console.log(arr.slice(-4,-1));      //["J1","L1","L2"]
console.log(arr.slice(-2));         //["Lily","M1"]
console.log(arr.slice(1,-2));       //["J1","L1"]
console.log(arr);                   //["T1","J1","L1","L2","M1"]

10:splice()

功能:向数组中添加,或从数组删除,或替换数组中的元素,然后返回被删除/替换的元素。

参数:splice(start,num,data1,data2,…); 所有参数全部可选。第一个参数是小标,第二个是删除的长度,第一个参数可以为负数

var list = [1, 2, 3]
console.log(list); // [1, 2, 3]

// 删除
list.splice(0,1);  // 删除  -> 从下标为0开始,长度为1
console.log(list); // [2,3]
list.splice(0,2);  // 删除  -> 从下标为0开始,长度为2
console.log(list); // []

//替换
list.splice(0,1,4); // 替换 -> 从下标为0开始,长度为1的数组元素替换成4
console.log(list);  // [4,2,3]
list.splice(0,2,4); // 替换 -> 从下标为0开始,长度为2的数组元素替换成4(即4,2整体替换成4)
console.log(list);  // [4,3]

//添加
list.splice(1,0,5); // 表示在下标为1处添加一项5
console.log(list);    // [1,5,2,3]

如果第一个参数为负数就从后面往前数,入上图

splice会改变原数组

11:toString();

功能:将数组转换成字符串,类似于没有参数的join()。该方法会在数据发生隐式类型转换时被自动调用,如果手动调用,就是直接转为字符串。不会改变原数组

var str = [1,2,3];
console.log(str.toString());     //1,2,3
console.log(str);                //[1,2,3]

12:valueOf();

功能:返回数组的原始值(一般情况下其实就是数组自身),一般由js在后台调用,并不显式的出现在代码中

var str = [1,2,3];console.log(str.valueOf());         //[1,2,3]console.log(str);                   //[1,2,3]//为了证明返回的是数组自身console.log(str.valueOf() == str);  //true

13:IndexOf();

功能:根据指定的数据,从左向右,查询在数组中出现的位置,如果不存在指定的数据,返回-1,找到了指定的数据返回该数据的索引

参数:indexOf(value, start);value为要查询的数据;start为可选,表示开始查询的位置,当start为负数时,从数组的尾部向前数;如果查询不到value的存在,则方法返回-1

注意:如果找到该数据,立即返回该数据的索引,不再往后继续查找

var str = ["h","e","l","l","o"];
console.log(str.indexOf("l"));        //2
console.log(str.indexOf("l",3));      //3
console.log(str.indexOf("l",4));      //-1
console.log(str.indexOf("l",-1));     //-1
console.log(str.indexOf("l",-3));     //2

14:lastIndexOf();

功能:根据指定的数据,从左向右,lastIndexOf() 方法可返回一个指定的元素在数组中最后出现的位置,从该字符串的后面向前查找。如果不存在指定的数据,返回-1,找到了指定的数据返回该数据的索引

参数:indexOf(value, start);value为要查询的数据;start为可选,表示开始查询的位置,当start为负数时,从数组的尾部向前数;如果查询不到value的存在,则方法返回-1

var str = ["h","e","l","l","o"];
console.log(str.lastIndexOf("l"));        //3

根据我的发现,indexOf的第二个参数传进去有用,lastIndexOf第二个参数跟没传一样

15:forEach();

功能:ES5新增的方法,用来遍历数组,没有返回值,

参数:forEach(callback);callback默认有三个参数,分别为value(遍历到的数组的数据),index(对应的索引),self(数组自身)。

var arr = ["Tom","Jack","Lucy","Lily","May"];
var a = arr.forEach(function(value,index,self){
     console.log(value + "--" + index + "--" + (arr === self));
})
// 打印结果为:
// Tom--0--true
// Jack--1--true
// Lucy--2--true
// Lily--3--true
// May--4--true
console.log(a);     //undefined---forEach没有返回值
//该方法为遍历方法,不会修改原数组

16:map();

功能:

1.同forEach功能;

2.map的回调函数会将执行结果返回,最后map将所有回调函数的返回值组成新数组返回。

参数:map(callback);callback默认有三个参数,分别为value,index,self。跟上面的forEach()的参数一样

//功能1:同forEach
 var arr = ["Tom","Jack","Lucy","Lily","May"];
 var a = arr.map(function(value,index,self){
     console.log(value + "--" + index + "--" + (arr === self))
 })
 // 打印结果为:
 // Tom--0--true
 // Jack--1--true
 // Lucy--2--true
 // Lily--3--true
 // May--4--true

 //功能2:每次回调函数的返回值被map组成新数组返回
 var arr = ["Tom","Jack","Lucy","Lily","May"];
 var a = arr.map(function(value,index,self){
     return "hi:"+value;
 })
 console.log(a);     //["hi:Tom", "hi:Jack", "hi:Lucy", "hi:Lily", "hi:May"]
 console.log(arr);   //["Tom", "Jack", "Lucy", "Lily", "May"]---原数组未改变

17:filter();

功能:1.同forEach功能;2.filter的回调函数需要返回布尔值,当为true时,将本次数组的数据返回给filter,最后filter将所有回调函数的返回值组成新数组返回(此功能可理解为“过滤”)。

参数:filter(callback);callback默认有三个参数,分别为value,index,self。

//功能1:同forEachvar arr = ["Tom","Jack","Lucy","Lily","May"];var a = arr.filter(function(value,index,self){    console.log(value + "--" + index + "--" + (arr === self))})// 打印结果为:// Tom--0--true// Jack--1--true// Lucy--2--true// Lily--3--true// May--4--true//功能2:当回调函数的返回值为true时,本次的数组值返回给filter,被filter组成新数组返回var arr = ["Tom","Jack","Lucy","Lily","May"];var a = arr.filter(function(value,index,self){    return value.length > 3;})console.log(a);         //["Jack", "Lucy", "Lily"]console.log(arr);       //["Tom", "Jack", "Lucy", "Lily", "May"]---原数组未改变//功能1:同forEach
var arr = ["Tom","Jack","Lucy","Lily","May"];
var a = arr.filter(function(value,index,self){
    console.log(value + "--" + index + "--" + (arr === self))
})
// 打印结果为:
// Tom--0--true
// Jack--1--true
// Lucy--2--true
// Lily--3--true
// May--4--true

//功能2:当回调函数的返回值为true时,本次的数组值返回给filter,被filter组成新数组返回
var arr = ["Tom","Jack","Lucy","Lily","May"];
var a = arr.filter(function(value,index,self){
    return value.length > 3;
})
console.log(a);         //["Jack", "Lucy", "Lily"]
console.log(arr);       //["Tom", "Jack", "Lucy", "Lily", "May"]---原数组未改变

18:every();

功能:判断数组中每一项是否都满足条件,只有所有项都满足条件,才会返回true。

参数:every()接收一个回调函数作为参数,这个回调函数需要有返回值,every(callback);callback默认有三个参数,分别为value,index,self。

功能1:当回调函数的返回值为true时,类似于forEach的功能,遍历所有;如果为false,那么停止执行,后面的数据不再遍历,停在第一个返回false的位置。

//demo1:
 var arr = ["Tom","abc","Jack","Lucy","Lily","May"];
 var a = arr.every(function(value,index,self){
     console.log(value + "--" + index + "--" + (arr == self))
 })
 // 打印结果为:
 // Tom--0--true
 //因为回调函数中没有return true,默认返回undefined,等同于返回false

 //demo2:
 var arr = ["Tom","abc","Jack","Lucy","Lily","May"];
 var a = arr.every(function(value,index,self){
     console.log(value + "--" + index + "--" + (arr == self))
     return value.length < 4;
 })
 // 打印结果为:
 // Tom--0--true
 // abc--1--true
 // Jack--2--true
 //因为当遍历到Jack时,回调函数到return返回false,此时Jack已经遍历,但是后面数据就不再被遍历了

 //demo3:
 var arr = ["Tom","abc","Jack","Lucy","Lily","May"];
 var a = arr.every(function(value,index,self){
     console.log(value + "--" + index + "--" + (arr == self))
     return true;
 })
 // 打印结果为:
 // Tom--0--true
 // abc--1--true
 // Jack--2--true
 // Lucy--3--true
 // Lily--4--true
 // May--5--true
 //因为每个回调函数的返回值都是true,那么会遍历数组所有数据,等同于forEach功能

功能2:当每个回调函数的返回值都为true时,every的返回值为true,只要有一个回调函数的返回值为false,every的返回值都为false

//demo1:
 var arr = ["Tom","abc","Jack","Lucy","Lily","May"];
 var a = arr.every(function(value,index,self){
     return value.length > 3;
 })
 console.log(a);           //false

 //demo2:
 var arr = ["Tom","abc","Jack","Lucy","Lily","May"];
 var a = arr.every(function(value,index,self){
     return value.length > 2;
 })
 console.log(a);           //true

19:some();

功能:判断数组中是否存在满足条件的项,只要有一项满足条件,就会返回true。

参数:some()接收一个回调函数作为参数,这个回调函数需要有返回值,some(callback);callback默认有三个参数,分别为value,index,self。

功能1:因为要判断数组中的每一项,只要有一个回调函数返回true,some都会返回true,所以与every正好相反,当遇到一个回调函数的返回值为true时,可以确定结果,那么停止执行,后面都数据不再遍历,停在第一个返回true的位置;当回调函数的返回值为false时,需要继续向后执行,到最后才能确定结果,所以会遍历所有数据,实现类似于forEach的功能,遍历所有。

 //demo1:
    var arr = ["Tom","abc","Jack","Lucy","Lily","May"];
    var a = arr.some(function(value,index,self){
        console.log(value + "--" + index + "--" + (arr == self))
        return value.length > 3;
    })
    // 打印结果为:
    // Tom--0--true
    // abc--1--true
    // Jack--2--true

20.reduce();

迭代数组的所有项,累加器,数组中的每个值(从左到右)合并,最终计算为一个值

参数:

callback:

previousValue 必选 --上一次调用回调返回的值,或者是提供的初始值(initialValue)

currentValue 必选 --数组中当前被处理的数组项

index 可选 --当前数组项在数组中的索引值

array 可选 --原数组

initialValue: 可选 --初始值

实行方法:回调函数第一次执行时,preValue 和 curValue 可以是一个值,如果 initialValue 在调用 reduce() 时被提供,那么第一个 preValue 等于 initialValue ,并且curValue 等于数组中的第一个值;如果initialValue 未被提供,那么preValue 等于数组中的第一个值.

let arr = [0,1,2,3,4]
let arr1 = arr.reduce((preValue, curValue) =>
    preValue + curValue
)
console.log(arr1)    // 10
let arr2 = arr.reduce((preValue,curValue)=>preValue + curValue,5)
console.log(arr2)    // 15

arr.reduce()拓展(高级用法)

(1)计算数组中每个元素出现的次数

let arr = [0,1,2,3,4]
let arr1 = arr.reduce((preValue, curValue) =>
    preValue + curValue
)
console.log(arr1)    // 10
let arr2 = arr.reduce((preValue,curValue)=>preValue + curValue,5)
console.log(arr2)    // 15

(2)数组去重

let arr = [1,2,3,4,4,1]
let newArr = arr.reduce((pre,cur)=>{
    if(!pre.includes(cur)){
      return pre.concat(cur)
    }else{
      return pre
    }
},[])
console.log(newArr);// [1, 2, 3, 4]

(3)将多维数组转化为一维

let arr = [[0, 1], [2, 3], [4,[5,6,7]]]
const newArr = function(arr){
   return arr.reduce((pre,cur)=>pre.concat(Array.isArray(cur)?newArr(cur):cur),[])
}
console.log(newArr(arr)); //[0, 1, 2, 3, 4, 5, 6, 7]

21.reduceRight()

功能:(与reduce类似)从数组的最后一项开始,向前逐个遍历到第一位,迭代数组的所有项,然后构建一个最终返回的值。

参数:同reduce。 demo:同reduce

22 Array.from()

将伪数组变成数组,就是只要有length的就可以转成数组。 —es6

let str = '12345'
console.log(Array.from(str))    // ["1", "2", "3", "4", "5"]
let obj = {0:'a',1:'b',length:2}
console.log(Array.from(obj))   // ["a", "b"]
let aa= {0:'a',1:'b'}
console.log(Array.from(aa))   // []

原来的不会发生改变

23 Array.of()

将一组值转换成数组,类似于声明数组 —es6

let str = '11'
console.log(Array.of(str))   // ['11']
// 等价于
console.log(new Array('11'))  // ['11]

ps:但是new Array()有缺点,就是参数问题引起的重载

console.log(new Array(2))   //[empty × 2]  是个空数组
console.log(Array.of(2))    // [2]

24 arr.copyWithin()

在当前数组内部,将制定位置的数组复制到其他位置,会覆盖原数组项,返回当前数组

参数:

  • target --必选 索引从该位置开始替换数组项
  • start --可选 索引从该位置开始读取数组项,默认为0.如果为负值,则从右往左读。
  • end --可选 索引到该位置停止读取的数组项,默认是Array.length,如果是负值,表示倒数
let arr = [1,2,3,4,5,6,7]let arr1 = arr.copyWithin(1)console.log(arr1)   // [1, 1, 2, 3, 4, 5, 6]let arr2 = arr.copyWithin(1,2)console.log(arr2)   // [1, 3, 4, 5, 6, 7, 7]let arr3 = arr.copyWithin(1,2,4)console.log(arr3)   // [1, 3, 4, 4, 5, 6, 7]

哪些数组方法会改变原数组

  • unshift();
  • push();
  • shift();
  • pop();
  • sort();
  • reverse();
  • splice();
  • copyWithin()

这八个数组方法在上面都有过介绍了,可以看出,再用这些方法的时候,原数组是会被改变的。

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注我们的更多内容!

(0)

相关推荐

  • JavaScript数组reduce()方法 

    将某个值减去数组中的每个元素: var items = [5, 10, 15]; var reducer = function minus(minusSum, item) {     return minusSum - item; } var total = items.reduce(reducer, 61); console.log(total); // 31 上例中初始值为number类型,所以返回的结果也是number类型的,如果我们想返回object类型的值,也可以传入object类型的

  • JavaScript数组方法实例详解

    目录 简介 创建数组 创建方法 详解 方法大全 join() push()和 pop() shift() 和 unshift() sort() reverse() concat() slice() splice() indexOf()和 lastIndexOf() forEach() map() filter() fill()  (ES6 新增) every() some() includes() (ES7) reduce()和 reduceRight() toLocaleString() 和

  • 详解JavaScript es6的新增数组方法

    目录 1. forEach() 2. arr.filter() 3. arr.every() 4. arr.map() 5. arr.some() 总结 1. forEach() 遍历数组,无return 即使有return,也不会返回任何值,并且会影响原来的数组 callback的参数 value --当前索引的值 index --索引 arr --原数组 let arr = ["a", "b", "c", 1, 2, 3]; arr.forE

  • JS一维数组转化为三维数组方法

    有人提问想要将一维数组转化为三位数组的需求,下面就给提问的的小伙伴安排上 下面是后端同学返给我们的一维数组数据格式:     [{       '品牌': 'xiaomi', '机型': '10', '配置': '512'     },     {       '品牌': 'xiaomi', '机型': '10', '配置': '128'     },     {       '品牌': 'xiaomi', '机型': '11', '配置': '128'     },     {       '

  • JavaScript数组 几个常用方法总结

    目录 1.前言 2.filter() 3.map() 4.sort() 5.reduce() 6.forEach() 7.方法列表 8.本文参考 1.前言 数组方法有太多了,本文记录一些本人容易记错的一些数组方法,用于巩固及复习. 后续会慢慢的将其他数组方法添加进来. 善用数组方法可以使数据处理变的优雅且简单. 那下面让我们开始吧: 2.filter() 描述: filter() 方法创建一个新数组,并将符合条件的所有元素添加到创建的新数组中. 语法: Array.filter(callback

  • 详解JS数组方法

    目录 一.会修改原数组 1.push(): 2.pop(): 3.shift(): 4.unshift(): 5.splice(): 6.sort(): 7.reverse(): 二.不修改原数组 1.toString(): 2.join(): 3.concat(): 4.slice() : 5.map(): 6.forEach(): 7.filter(): 8.every(): 9.some(): 10.reduce(): 总结 一.会修改原数组 1.push(): (在数组结尾处)向数组添加

  • javascript的数组方法大全

    目录 1:concat(); 2:join(); 3:pop(); 4:shift(); 5:unshift(); 6:push(); 7:reverse(); 8:sort(); 8.1: 8.2: 8.3:排序问题 9:slice(); 10:splice() 11:toString(); 12:valueOf(); 13:IndexOf(); 14:lastIndexOf(); 15:forEach(); 16:map(); 17:filter(); 18:every(); 19:some

  • JavaScript数组方法大全(推荐)

    数组在笔试中经常会出现的面试题,javascript中的数组与其他语言中的数组有些不同,为了方便之后数组的方法学习,下面小编给大家整理了关于数组的操作方法,一起看看吧. 数组创建 JavaScript中创建数组有两种方式,第一种是使用 Array 构造函数: var arr1 = new Array(); //创建一个空数组 var arr2 = new Array(20); // 创建一个包含20项的数组 var arr3 = new Array("lily","lucy&

  • 基于JavaScript Array数组方法(新手必看篇)

    Array类型是ECMAScript中最常用的引用类型.ECMAScript中的数据与其它大多数语言中的数组有着相当大的区别.虽然ECMAScript中的数据与其它语言中的数组一样都是数据的有序列表,但不同的是,ECMAScript数组中的每一项可以保存任何类型的数据,无论是数值.字符串或者是对象.同时,ECMAScript中的数组大小是可以动态调整的,即可以根据数据的添加自动增长以容纳新增的数据.下面总结一下JavaScript中数组常用的操作函数及用法. •创建数组 创建数组主要有构造函数和

  • JavaScript常见数组方法之如何转置矩阵

    目录 一.常见二维数组操作 创建与遍历 [案例]二维数组转置 二.常见数组方法 栈和队列方法 检索方法 数组转字符串 其他方法 总结 今天这篇文章就是来和大家详细聊聊JavaScript常见数组方法,不知道大家有没有学过线性代数呢,如果学过那么矩阵转置那可就太熟悉了. 今天我想试试能不能用数组来实现矩阵转置呢? 想知道,那就接着往下看吧.希望大家读完有所收获,那我辛苦码字也就值了. 一.常见二维数组操作 创建与遍历 在前面的篇章中,已经学习了一维数组的各种创建方式,了解一维数组如何创建后,二维数

  • Javascript操作select方法大全[新增、修改、删除、选中、清空、判断存在等]

    js 代码 // 1.判断select选项中 是否存在Value="paraValue"的Item function jsSelectIsExitItem(objSelect, objItemValue) { var isExit = false; for (var i = 0; i < objSelect.options.length; i++) { if (objSelect.options[i].value == objItemValue) { isExit = true;

  • JavaScript判断数组的方法总结与推荐

    目录 前言 根据构造函数判断(妈妈) instanceof constructor 根据原型对象判断(爸爸) __ proto __ Object.getPrototypeOf() Array.prototype.isPrototypeOf() 根据 Object 的原型对象判断(祖先) Object.prototype.toString.call() Array.isArray() 总结 前言 无论在工作还是面试中,我们都会遇到判断一个数据是否为数组的需求,今天我们就来总结一下,到底有多少方法

  • JavaScript类数组对象转换为数组对象的方法实例分析

    本文实例分析了JavaScript类数组对象转换为数组对象的方法.分享给大家供大家参考,具体如下: 1.类数组对象: 拥有length属性,可以通过下标访问: 不具有数组所具有的方法. 2.为什么要将类数组对象转换为数组对象? 数组对象Array有很多方法:shift.unshift.splice.slice.concat.reverse.sort,ES6又新增了一些方法:forEach.isArray.indexOf.lastIndexOf.every.some.map.filter.redu

  • JavaScript实现数组在指定位置插入若干元素的方法

    本文实例讲述了JavaScript实现数组在指定位置插入若干元素的方法.分享给大家供大家参考.具体如下: 我们可以通过JS数组的splice方法在执行的位置插入新的元素,非常简单 <!DOCTYPE html> <html> <body> <p id="demo"> Click the button to add elements to the array. </p> <button onclick="myFu

  • php实现向javascript传递数组的方法

    本文实例讲述了php实现向javascript传递数组的方法.分享给大家供大家参考.具体如下: 这里介绍的PHP进行数组传值给javascript的技巧,此方法适用php5.2以上,php5.2以上自带该类.低于5.2的,请下载json类.json是一种数据传输格式 php代码: $arr=array('1','2','3','4','5'): $str=json_encode($arr); echo "<input type='button' name='insert' value='I

随机推荐