数组转字符串
toString()
把数组转换为数组值的字符串(每个数值中间由逗号分割)
var fruits = ["Banana", "Orange", "Apple"];
var str = fruits.toString() //str的值是“Banana,Orange,Apple”, 原数组fruits不变
join()
把数组转换为数组值的字符串(数值之间由用户指定分隔符分割)
var fruits = ["Banana", "Orange", "Apple"];
var str = fruits.join("|") //str的值是“Banana|Orange|Apple”, 原数组fruits不变
当join未传入任何参数时,默认使用逗号分隔。
合并数组
concat()
合并现有数组来创建一个新数组,可以在新建数组的时候使用
var arr1 = ["Banana", "Orange"];
var arr2 = ["Apple", "Mango"];
var newArr = arr1.concat(arr2)
//newArr为["Banana", "Orange", "Apple", "Mango"] 原数组arr1,arr2不变
var arr1 = ["Banana", "Orange"];
var newArr = arr1.concat("Apple", "Mango")
//newArr为[“Banana”, “Orange”, “Apple”, “Mango”] 原数组arr1不变
concat()可以传入多个数组作为参数,当传入参数为空的时候,仅拷贝原数组。
查找索引
indexOf()
返回要查找的项在数组中首次出现的位置
var fruits = ["Banana", "Orange", "Apple"];
var index = fruits.indexOf("Apple") //index的值是2
如果没找到参数对应的数值,返回-1(可用于查找数组中是否存在指定数值)
var fruits = ["Banana", "Orange", "Apple"];
var index = fruits.indexOf("Mango") //index的值是-1
如果数组中存在多个指定元素,则只返回首次出现的位置
var fruits = ["Banana", "Orange", "Apple", "Orange"];
var index = fruits.indexOf("Orange") //index的值是1
数组截取
slice()
用数组的某个片段切出新数组,当slice()的参数为一个的时候,表示从该参数位置开始,直到数组结束部分的所有元素。
如arr.slice(3)会截取从arr[3]到数组结束之间的所有元素组成一个新数组。
var fruits = ["Banana", "Orange", "Apple", "Mango"];
var newArr = fruits.slice(1) //newArr的值是[“Orange”, “Apple”, “Mango”]; fruits的值不变
当slice()的参数有两个时,表示截取从第一个参数位置开始, 到第二个参数为止(不包括第二个参数)之间的所有元素,组成一个新数组。
如arr.slice(3,6)就会截取arr[3],arr[4],arr[5]。
var fruits = ["Banana", "Orange", "Apple", "Mango"];
var newArr = fruits.slice(1,3) //newArr的值是[“Orange”, “Apple”]; fruits的值不变
当slice()的参数为负数时,表示截取arr的最后几个元素
如arr.slice(-10)表示截取arr的最后十个元素。
var fruits = ["Banana", "Orange", "Apple", "Mango"];
var newArr = fruits.slice(-2) //newArr的值是[“Apple”, “Mango”];
当slice()的参数为两个负数时,表示截取两个倒数元素之间的元素
如arr.slice(-10,-2)表示从倒数第十个元素截取到倒数第二个元素(不包含倒数第二个)。
var fruits = ["Banana", "Orange", "Apple", "Mango"];
var newArr = fruits.slice(-3,-1) //newArr的值是[“Orange”, “Apple”];
数组更新
splice()
向数组红添加或删除元素,然后返回被删除元素,该方法会修改原数组
样式:arr.splice(index, howmany, item1,.....,itemX)
index(必填):表示添加或删除项目的位置,使用负数可以从数组结尾处规定位置。
var fruits = ["Banana", "Orange", "Apple", "Mango"];
var items = fruits.splice(2) //fruits的值是[“Banana”, “Orange”]; items的值是[“Apple”, “Mango”]
howmany:要删除的项目数量,入不填则删除所有项目,如设置为0则不会删除项目。
var fruits = ["Banana", "Orange", "Apple", "Mango"];
var items = fruits.splice(2,1) //fruits的值是[“Banana”, “Orange”, “Mango”]; items的值是[“Apple”]
item1…itemX:向数组添加的新项目.
var fruits = ["Banana", "Orange", "Apple", "Mango"];
var items = fruits.splice(2,0,"Pear") //fruits的值是[“Banana”, “Orange”, “Pear”, “Apple”, “Mango”];
var fruits = ["Banana", "Orange", "Apple", "Mango"];
var items = fruits.splice(2,1,"Pear") //fruits的值是[“Banana”, “Orange”, “Pear”, “Mango”];
数组归并
reduce()
reduce()方法接收一个函数作为累加器,数组中的每一个值(从左到右)开始缩减,最终计算出一个值。
样式:arr.reduce(function(acc,cur,index,arr){}, initialValue)
acc: 必选 accumulator 累加器,计算结束后的返回值
cur: 必选 currentValue 当前元素
index: 可选 currentIndex 当前元素的索引
arr: 可选 currentArray 当前元素所属的数组
initialValue: 可选 传递给函数的初始值