这是我参与8月更文挑战的第20天,活动详情查看:8月更文挑战
二、截取拼接
2.1 slice
slice()方法返回一个新的数组对象,这一对象是一个由 begin 和 end 决定的原数组的浅拷贝。原始数组不会被改变。
arr.slice([begin[, end]])
注意:复制的数组包含 start 下标元素,不包含 end 下标元素
@params:起始下标 start 与结束下标 end,起始 start 必传,end 不传默认复制到数组结束位置,可使用负值从数组的尾部选取元素。@return:返回复制的子数组是否改变原数组:不改变
var arr = [1, 2, 3, 6, 7, 8];
var res = arr.slice(1, 4);
console.log(res); // [2,3,6]
console.log(arr); // [1,2,3,6,7,8]
2.2 concat
concat()方法用于合并两个或多个数组。此方法不会更改现有数组,而是返回一个新数组。
var new_array = old_array.concat(value1[, value2[, ...[, valueN]]])
@params:多个任意项,可以是数组,可以是单个项@return:返回合并后的新数组是否改变原数组:不改变
var arr = [1, 2, 3];
var res = arr.concat(1, [0, 0]);
console.log(res); // [1,2,3,1,0,0]
console.log(arr); // [1,2,3]
三、查找判断
3.1 includes
includes()方法用来判断一个数组是否包含一个指定的值,根据情况,如果包含则返回 true,否则返回 false。
arr.includes(valueToFind[, fromIndex])
@params:参数一必传,表示要查询的元素,参数二可选,表示从指定位置查起(若为负数,从后查起,负数超过数组长度,则置为 0)@return:返回布尔值是否改变原数组:不改变
var arr = [1, 2, 3];
var res = arr.includes(2);
console.log(res); // true
console.log(arr); // [1, 2, 3]
3.2 find
find()方法返回数组中满足提供的测试函数的第一个元素的值。否则返回 undefined。
arr.find(function(item, index, array){}, thisArg)
@params:函数,thisAr表示执行回调时this指向的对象@return:第一个满足条件的元素或 undefined是否改变原数组:不改变
const array = [5, 12, 8, 130, 44];
const found = array.find(element => element > 10);
console.log(found); // 12
console.log(array); // [5, 12, 8, 130, 44]
3.3 findIndex
findIndex()方法返回数组中满足提供的测试函数的第一个元素的索引。若没有找到对应元素则返回 -1。
arr.findIndex(callback[, thisArg])
@params:函数,thisAr表示执行回调时this指向的对象@return:第一个满足条件的索引或 -1是否改变原数组:不改变
const array = [5, 12, 8, 130, 44];
const found = array.findIndex(element => element > 10);
console.log(found); // 1
console.log(array); // [5, 12, 8, 130, 44]
3.4 indexOf
indexOf()方法返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回 -1。
arr.indexOf(searchElement[, fromIndex])
@params:参数一必传,表示要查询的元素,参数二可选,表示从指定位置查起@return:如若检索项存在,返回其下标,没有就返回 -1是否改变原数组:不改变
var arr = [1, 2, 3];
console.log(arr.indexOf(2)); // 1
console.log(arr.indexOf(8)); // -1
3.5 lastIndexOf
lastIndexOf()方法返回指定元素(也即有效的 JavaScript 值或变量)在数组中的最后一个的索引,如果不存在则返回 -1。从数组的后面向前查找,从fromIndex处开始。
arr.lastIndexOf(searchElement[, fromIndex])
@params:参数一必传,表示要查询的元素,参数二可选,表示从指定位置查起@return:如若检索项存在,返回其下标,没有就返回 -1是否改变原数组:不改变
var arr = [1, 2, 3, 2, 2, 3, 4];
console.log(arr.lastIndexOf(3)); // 5