javascript数组小记

险些一切的编程言语都原生支撑数组范例,由于数组是最简朴的内存数据结构。
它存储一系列同一种数据范例的值,然则在javascript里能够在数组里保留差别范例的值,然则我们最好照样要恪守最好实践,不要那末做。

  • 建立和初始化,javascript声明,建立和初始化数组都很简朴,就像下面如许:
    var array = new Array();

var array = new Array(7); //建立长度为7的数组
var array = new Array(‘item1′,’item2′,’item3’);
以上是运用new关键字来建立数组,然则这并非最好的体式格局,最经常使用的数组建立体式格局只需 用一个[]就能够了。以下所示:

var array = [];
var array = ['item1','item2','item3'];
  • 增加和删除元素
    var numbers = [1,2,3,4,5,6,7,8,9];
    numbers.push(10);//把元素增加到末端
    numbers.unshift(11);//把元素增加到首位
    numbers.pop();//删除末了一名元素
    numbers.shift();//删除第一名元素
    numbers.splice(5,3);//删除从数组索引5最先的三个元素(numbers里的6,7,8三个元素被删撤除),需求中经常须要删除指定的元素,可求出该元素索引值后spleic(x,1)
    number.splice(5,0,2,3,4);//从索引是5的元素最先删除0个元素,然后吧2,3,4三个元素增加到索引是5的元素背面
  • 兼并数组
    numbers.concat(num1,num2)//num1,num2被兼并到numbers中
  • 数组迭代
    every,filter,foreach,some,map这几个要领都可接收一个函数作为参数。
    如:number.every(function(number){

          console.log('----every number----',numbrt);
    })

    every遍历数组中每一个元素,碰到使函数返回值为false的元素,every实行完毕;
    some与every相反,碰到使函数返回值为true的h元素会实行完毕;
    forEach会迭代一切元素,与运用for轮回的效果雷同;
    map和filter要领都很会返回一个新数组,差别的map会返回一切元素遍历后的效果,filter只返回效果为true的效果;

  • 搜刮和排序
    numbers.reverse()//倒序
    numbers.sort()//此要领对数组做排序时,把元素默认成字符串举行互相比较,我们能够传人本身的比较函数,所以能够如许写:
    numbers.sort(function(a,b){

             return a-b;
       });

    这段代码当b大于a时,会返回负数,反之则返回正数,假如相称的话就会返回0.返回负数时申明a比b小,如许sort就会依据返回值状况给数组做排序。
    indexof要领返回与参数婚配的第一个元素的索引,lastIndexOf返回与参数婚配的末了一个元素索引。
    ES6中供应了两个新的要领find()和findIndex()。它们的参数是一个回调函数,一切数组成员顺次实行该回调函数,直到找出第一个返回值为true的成员,然后find()要领会返回该成员,findIndex()返回该成员的位置。

  • 输出数组为字符串
    numbers.toString()//一切元素输出为一个字符串

numbers.join(‘,’)//一切元素用,离隔,输出为一个字符串

    原文作者:Silence布吉岛
    原文地址: https://segmentfault.com/a/1190000009082629
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞