JavaScript 数组常用方法整理

数组变异方法

push() 数组末尾添加一个项目,返回新数组长度,arr.push(item)
pop() 数组末尾删除一个元素,返回被删除元素,arr.pop()
shift() 删除数组开头第1个元素,返回该元素,arr.shift()
unshift() 向开头添加1个或者多个元素,返回新数组长度,arr.unshift(item1,item2....)
splice() 删除或者添加项目,arr.splice(deleteStart, deleteCount, addElement1, addElement2, ...)
reverse用于颠倒数组,返回改变后的数组
sort() 数组排序,默认按照字符串顺序排序

arr.sort(sortNumber)
function sortNumber(a,b)
{
  return a - b
}

数组非变异方法

filter() 过滤数组中元素,,返回新数组,arr.filter(getBoys)
concat() 连接2个或者多个数组,返回新数组,arr1.concat(arr2)
slice() 截取数组中对象,返回新数组,arr.slice(start, end);
使用非变异数组方法时,可以用新数组替换旧数组

其他用途

join()将所有数组成员连接为一个字符串返回。如果不提供参数,默认用逗号分隔,a.join(' # ')
indexOf方法返回给定元素在数组中第一次出现的位置,如果没有出现则返回-1。indexOf方法还可以接受第二个参数,表示搜索的开始位置。
lastIndexOf方法返回给定元素在数组中最后一次出现的位置,如果没有出现则返回-1

数组的链式使用

var users = [
  {name: 'tom', email: 'tom@example.com'},
  {name: 'peter', email: 'peter@example.com'}
];

users
.map(function (user) {
  return user.email;
})
.filter(function (email) {
  return /^t/.test(email);
})
.forEach(function (email) {
  console.log(email);
});
// "tom@example.com"

上面代码中,先产生一个所有 Email 地址组成的数组,然后再过滤出以t开头的 Email 地址,最后将它打印出来。

原文地址:https://www.cnblogs.com/tiandi/p/13883852.html