JS数组方法总结

2019-11-18  本文已影响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

上一篇下一篇

猜你喜欢

热点阅读