JS学习笔记--第七期(数组的方法二)

数组转字符串

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: 可选 传递给函数的初始值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值