1.concat() 方法用于合并两个或多个数组。此方法不会更改现有数组,而是返回一个新数组
let array1=['a','b','c'];
let array2=['d','e','f'];
console.log(array1.concat(array2));
//两个数组合并为一个新数组:
let array1=['a','b','c'];
var array2=[1,2,3];
alert(array1.concat(array2));
//两个数组合并为一个新数组:
let array1=['a','b','c'];
var array2=[1,2,3];
alert(array1.concat(array2));
//连接三个数组
let num1=[1,2,3],
num2=[4,5,6],
num3=[7,8,9];
let nums=num1.concat(num2,num3);
console.log(nums);
//合并嵌套数组
let num1=[[1]];
let num2=[2,[3]];
let nums=num1.concat(num2);
console.log(nums);
num1[0].push(4);
console.log(nums);
2.map()
方法创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果
let numbers = [1, 5, 10, 15];
let doubles = numbers.map( x => x ** 2);
console.log(numbers);
console.log(doubles);
const numbers = [2, 4, 8, 10];
let halves = numbers.map(x => x / 2);
console.log(halves);
let numbers = [1, 4, 9];
let roots = numbers.map(Math.sqrt);//sqrt开平方根
console.log(roots);
//slice() 方法返回一个从开始到结束(不包括结束)选择的数组的一部分浅拷贝到一个新数组对象。原始数组不会被修改
var animals = ['ant', 'bison', 'camel', 'duck', 'elephant'];
console.log(animals.slice(2));
//3.Array.isArray() 用于确定传递的值是否是一个 Array。
alert(Array.isArray([1, 2, 3]));
// true
alert(Array.isArray({foo: 123}));
// false
alert(Array.isArray("foobar"));
// false
alert(Array.isArray(undefined));
// false
下面的函数调用都返回 true
alert(Array.isArray([]));
alert(Array.isArray([1]));
alert(Array.isArray(new Array()));
// 鲜为人知的事实:其实 Array.prototype 也是一个数组。
alert(Array.isArray(Array.prototype));
下面的函数调用都返回 false
alert(Array.isArray());
alert(Array.isArray({}));
alert(Array.isArray(null));
alert(Array.isArray(true););
alert(Array.isArray(false););
3.数组去重合并
function combine(){
let arr=[].concat.apply([],arguments); //没有去重复的新数组
return Array.from(new Set(arr));
}
var m=[1,2,2],n=[2,3,3],x=[2,4,5];
console.log(combine(m,n,x));
4.join()
方法将一个数组的所有元素连接成一个字符串并返回这个字符串。
let a=['suga','jimin','v'];
console.log(a.join()); // 'suga,jimin,v'
console.log(a.join("")); // 'sugajiminv'
console.log(a.join("-")); //suga-jimin-v
let a=['suga','jimin','v'];
let myVar1=a.join();
let myVar2=a.join(', ');
let myVar3=a.join('+');
console.log(myVar1); //suga,jimin,v
console.log(myVar2); //suga, jimin, v
console.log(myVar3); //suga+jimin+v
5. pop()方法从数组中删除最后一个元素,并返回该元素的值。此方法更改数组的长度。
let a = [1, 2, 3];
console.log(a.length); // 3
a.pop(); // 3
console.log(a); // [1, 2]
// a.length; // 2
6. push() 方法将一个或多个元素添加到数组的末尾,并返回新数组的长度。
var numbers=[1,2,3];
numbers.push(4);
console.log(numbers); // [1, 2, 3, 4]
numbers.push(5, 6, 7);
console.log(numbers); // [1, 2, 3, 4, 5, 6, 7]
7.shift() 方法从数组中删除第一个元素,并返回该元素的值。此方法更改数组的长度。
let a = [1, 2, 3];
let b = a.shift();
console.log(a); // [2, 3]
console.log(b); // 1
8.slice() 方法返回一个从开始到结束(不包括结束)选择的数组的一部分浅拷贝到一个新数组对象。原始数组不会被修改
var animals=['ant','bison','camel','duck','elephant'];
console.log(animals.slice(4));//删除第4个
9.sort() 方法用就地( in-place )的算法对数组的元素进行排序,并返回数组。 sort 排序不一定是稳定的。默认排序顺序是根据字符串Unicode码点。
var fruit = ['cherries', 'apples', 'bananas'];
alert(fruit.sort());
var scores = [1, 10, 21, 2];
console.log(scores.sort());
9.splice() 方法通过删除现有元素和/或添加新元素来更改一个数组的内容。
var myFish = ['angel', 'clown', 'mandarin', 'sturgeon'];//索引从1开始
myFish.splice(2, 0,'drum'); // 在索引为2的位置插入'drum'
console.log(myFish)// myFish 变为 ["angel", "clown", "drum", "mandarin", "sturgeon"]
myFish.splice(2, 1); // 从索引为2的位置删除一项(也就是'drum'这一项)
// myFish 变为 ["angel", "clown", "mandarin", "sturgeon"]
10.unshift() 方法将一个或多个元素添加到数组的开头,并返回新数组的长度。
let a=[1,2,3];
a.unshift(4,5);
console.log(a);// [4, 5, 1, 2, 3]