—— 此篇开始 ——
书接上篇
此篇里的方法不会改变原有数组,全都以返回值的形式得到结果
1. concat()
语法:数组.concat(数据1,数据2,数组,...)
作用:将“数据1,数据2,数组,...”拼接在原数组上
返回值: 拼接好的数组
实例:
var arr = [1,2,3,4,5,6]
console.log ("原始数组:",arr);
var res = arr.concat(7,8,[9,10,11]) //将数字7和8以及数组[9,10,11]拼接到arr后
console.log ("拼接过后:",arr); //原数组不会被改变
console.log ("返回值:",res);
结果:
2. join()
语法:数组.join('连接符')
作用:数组里每一个数据之间被连接符所连接,此时整体是一个字符串类型。连接符不写,默认用逗号连接
返回值: 连接好的字符串
实例:
var arr = [520,13,14]
console.log ("原始数组:",arr);
var res = arr.join('❤') //每个数据之间用❤连接起来
console.log ("连接之后:",arr); //原数组不会被改变
console.log ("返回值:",res);
console.log ("返回值类型:",typeof(res));
结果:
3. slice()
语法:数组.slice(开始索引,结束索引)
作用:等同于splice(),都是截取数组,将数组内从开始索引到结束索引的前一个数据(包前不包后)复制到一个新数组。开始索引不写就表示从索引为0的数据开始,结束索引不写就表示直接到数组末尾。当填写负整数时,等价于 负整数+length,表示倒数第几个
返回值:截取数据组成的新数组,如果没有截取数据,那么就是个空的数组
实例:
//参数为正数时
console.log ("参数为正数时:");
var arr = [1,2,3,4,5,6,7,8]
console.log ("原始数组:",arr);
var res = arr.slice(2,5) //截取第2个索引位置的数据到第4个索引位置的数据
console.log ("截取之后:",arr); //原数组不会被改变
console.log ("返回值:",res);
console.log ("---------------");
//参数为负数时
console.log ("参数为负数时:");
var arr2 = [1,2,3,4,5,6,7,8]
console.log ("原始数组:",arr2);
var res2 = arr2.slice(2,-4) //截取第2个索引位置的数据到第((-4+8)-1)个索引位置的数据
console.log ("截取之后:",arr2); //原数组不会被改变
console.log ("返回值:",res2);
结果:
4. indexOf()
语法:数组.indexOf(数据,开始索引)
作用:从开始索引位置的数据开始,向后检测是否有该数据。开始索引可以不写,默认为0
返回值:如果检测到该数据,则返回该数据第一次出现的索引位置。如果没有检测到该数据,则返回-1
实例:
var arr = [1,2,3,4,5,1,2,4,6,7]
console.log ("原始数组:",arr);
var res = arr.indexOf(3,1) //从第1个索引位置开始,检测后面是否有3这个数据
console.log ("检测过后:",arr); //原数组不会被改变
console.log ("返回值:",res);
结果:
5. lastIndexOf()
语法:数组.lastIndexOf(数据,开始索引)
作用:与indexOf()作用一样,只不过lastIndexOf()是从后往前进行检测。开始索引不写时,默认值为数组的length
返回值:如果检测到该数据,则返回该数据第一次出现的索引位置。如果没有检测到该数据,则返回-1
实例:
var arr = [1,2,3,4,5,1,2,4,6,7]
console.log ("原始数组:",arr);
var res = arr.lastIndexOf(2,-3) //从第((-3+arr.length)-1)个索引位置开始,检测前面是否有2这个数据
console.log ("检测过后:",arr); //原数组不会被改变
console.log ("返回值:",res);
结果: