美文网首页
JS数组方法总结

JS数组方法总结

作者: 深情的白杨 | 来源:发表于2019-11-18 11:30 被阅读0次

    仰望星空,脚踏实地

    // 前提
    let arr = [
      {id: 1,name: 'Swain', age: 20},
      {id: 2,name: 'Grace', age: 21},
      {id: 3,name: 'Jane', age: 22}
    ]
    

    0、数组判定

    在使用数组之前对它的具体类型进行判断是严谨的

    0.1 instanceof方式

    if (arr instanceof Array) {
      // 对数组进行操作,instanceof的本意:什么的一个实例
    }
    

    这种方式的弊端是当前arr可能是由不同版本的Array创建出来的

    0.2 isArray

    if (Array.isArray(arr)) {
      // 对数组进行操作
    }
    

    在不考虑兼容的情况下完美

    0.3 constructor

    arr.constructor.toString().indexof('Array') > -1
    

    0.4 prototype

    Object.prototype.toString.call(arr) === '[object Array]'
    

    1、4个常用但极为熟悉的base方法,都修改了数组

    1.1 push()

    // 尾部插入一个
    // 返回数组新长度
    arr.push({id:4,name:'Mery',age:23});
    

    1.2 pop()

    // 尾部删除一个
    // 返回被删内容
    arr.pop();
    

    1.3 unshift()

    // 头部添加一个
    // 返回数组新长度
    arr.unshift({id:0,name:'ymx',age:18});
    

    1.4 shift()

    // 头部删除一个
    // 返回被删除内容
    arr.shift();
    

    2、相对高级点的

    2.1 concat(),上拉加载数据的时候,再次请求数据可以直接给原数组拼接上

    // 拼接数组(可以是多个) 
    let concatArr = arr1.concat(arr2,arr3,arr4...);
    // 不修改数组
    // 返回拼接数组
    let concatArr = arr.concat([{id:5,name:'husky',age:2}]);
    

    2.2 slice()

    // 取出部分数据
    // 不修改数组
    // 返回取到的数组
    arr.slice(1,3); //从第1项开始取到第2项
    arr.slice(3); //从第3项开始取到最后
    

    2.3 reverse()

    // 翻转数组,修改数组
    arr.reverse();
    

    2.4 join()

    // 数组拼接字符串
    let str = arr.join('*');
    

    2.5 splice()

    // 修改数组
    // 从第一个位置开始,删除三个,再添加一个
    arr.splice(1,3,{});
    

    3、高级用法

    3.1

    相关文章

      网友评论

          本文标题:JS数组方法总结

          本文链接:https://www.haomeiwen.com/subject/cfcqbqtx.html