concat()方法用于连接两个或多个数组
参数可以是任意多个。该方法不会改变原有数组,只会返回被连接的数组副本。如果concat()的参数是数组,那么添加的是数组里的元素,而不是数组。
const a = [1];
const b = [2];
const c = { name: 'hhh' };
console.log(a.concat(b)); // [1, 2]
console.log(a.concat(c)); // [1, { name: 'hhh'}]
console.log(a.concat(b, c)); // [1, 2, {name: 'hhh'}]
sort() 对数组中的元素进行排序,返回排序后的数组
sort()对数组元素进行排序,并返回排序后的数组。
参数:可选,规定排序方式的比较函数
默认情况下sort()方法没有传比较函数作为参数的话,默认按字母升序,如果不是元素不是字母形式的字符串的话,会调用toString()方法将元素转化为字符串的Unicode(编码)位点,然后再比较字符。
比较函数会包含两个参数,这两个参数就是数组中要进行比较的两个元素a和b
array.sort(function (a, b) {
return a - b; // 或者return b - a;
});
根据比较函数的返回值来确定数组的排序方式:
1.如果比较函数返回值 < 0,那么a在前,b在后;
2.如果比较函数返回值 = 0,那么a和b的相对位置不变;
3.如果比较函数返回值 > 0,那么b在前,a在后。
var array = [1, 10, 5, 43, 1, 4];
array.sort(function(a, b) {
return a - b;
}); // [1, 1, 4, 5, 10, 43]
array.sort(function(a, b) {
return b - a;
}); // [43, 10, 5, 4, 1, 1]
pop() 删除数组中的最后一个元素,返回删除的这个元素
var a = [1, 2, 3, 4];
var res = a.pop(); // res为4
console.log(a); // [1, 2, 3]
shift() 删除数组中的第一个元素,返回删除的这个元素
var a = [1, 2, 3, 4];
var res = a.shift(); // res为1
console.log(res); // [2, 3, 4]
push() 向数组的末尾添加一个或多个元素,并返回新的长度
var a = [1, 230, 304];
var res = a.push(20); // 4
console.log(a); // [1, 230, 304, 20]
unshift() 向数组的开头添加一个或多个元素,并返回新的长度
var a = [1, 230, 304];
var res = a.unshift('20'); // 4
console.log(res); // ["20", 1, 230, 304]
slice(begin, end)返回一个从index为begin开始到index为end结束(不包括结束)选择的数组的一部分浅拷贝到一个新数组对象,且原数组不会被修改
var a = [1, 32, 34, 42, 2, 4, 42];
var res = a.slice(2, 4);
res // [34, 42]
a // [1, 32, 34, 42, 2, 4, 42]
join() 用于把数组中的所有元素通过指定的分隔符(默认使用逗号)进行分隔放入一个字符串,返回生成的字符串
var a = ['hello', 'world'];
var res = a.join();
res // "hello,world"
a // ["hello", "world"]
var res = a.join('*');
res // "hello*world"
a // ["hello", "world"]
indexOf() 找到给定元素在数组中的索引,返回下标index,查找不到就返回-1
var a = ['hello', 'world', 'hello', 'hhh']
var res = a.indexOf('hello');
res // 0
a // ["hello", "world", "hello", "hhh"]
var res = a.indexOf('hello', 1);
res // 2
includes() 查找数组是否包含某个元素,返回布尔
var a = ['hello', 'world'];
a.includes('hello'); // true
a.includes('hello2'); // false
splice() 从指定位置/索引处删除指定数量的元素,还可以在删除之后的位置加上其他元素
arr.splice(5, 3); // 表示从arr数组的索引为5的位置开始,删除三个元素
arr.splice(5, 0, 2, 3, 4); // 从arr数组索引为5的位置开始,不删除元素,
索引为5的位置依次插入2, 3, 4