数组对象

1 .join()

.join()将数组连接成字符串(可指定分割符)

var arrs = [0, 1, 2, 3, 4, 5, 6];

var joinArr = arrs.join();
var joinArr1 = arrs.join('=');

console.log(joinArr); //默认用 ‘,’隔开(返回一个字符串)
console.log(joinArr1); //可指定分隔符号(返回一个字符串)

2 .concat() 

.concat()连接两个数组(不会改变原数组)

var arr = ['aa', 'bb', 'cc', 'dd'];
var arr2 = [1, 2, 3, 4, 5];
var concatArr = arr.concat(arr2);
console.log(concatArr);

3 .unshift()

.concat()连接两个数组(不会改变原数组)

var arr = ['aa', 'bb', 'cc', 'dd'];
arr.unshift(0);
console.log(arr);

4 .shift()

.shift()数组开头删除一个后的数组(改变原数组)

var arr = ['aa', 'bb', 'cc', 'dd'];
var shiftOne = arr.shift();
console.log(shiftOne); //返回数组开头第一个;
console.log(arr); //数组开头删除一个后的数组(改变原数组)

5 .push()

.push()在数组末尾添加(改变原数组)

var arrPush = arr.push('ee', 'ff');
console.log(arr);

6 .pop()

.pop()数组结尾删除一个后的数组(改变原数组)

var popOne = arr.pop();
console.log(popOne); //.pop()返回数组最后一个
console.log(arr);//.pop()数组结尾删除一个后的数组(改变原数组)

7 .reverse()

.reverse()将数组顺序反转(改变原数组)

arr.reverse();
console.log(arr);

8 .sort()

案例1: 数字排序

var arr1_number = [1, 4, 7, 3, 8, 7, 9, 0, 3, 2];
var sortarr1_number = arr1_number.sort((a, b) => {
    return a - b
})
console.log(arr1_number);  //原数组
console.log(sortarr1_number); 

注意:使用 sort 排序,会改变原数组。
如果不想破坏原数组可以使用.concat() 或 .slice(0) 原数组复制一份。

如下:

案例2: 字母排序

var arr1_str = ['z', 'a', 'f', 'g', 'R', 'H', 'j', 'W', 'Z'];
    
//var arr1_str_copy = arr1_str.concat(); //这里相当于复制了一份数组;
var arr1_str_copy = arr1_str.slice(0); //这里相当于复制了一份数组;
        
arr1_str_copy.sort(function(s, t) {
    var a = s.toLowerCase();
    var b = t.toLowerCase();
    if(a < b) return -1;
    if(a > b) return 1;
    return 0;
})

console.log(arr1_str);    //原始数组
console.log(arr1_str_copy); //排序后的数组

案例3: 数组对象中按年龄大小排序

var studentArr = [{
    'name': '张三',
    age: 26
}, {
    'name': '李四',
    age: 12
}, {
    'name': '王五',
    age: 37
}, {
    'name': '赵六',
    age: 4
}];

studentArr.sort((a, b) => {
    return b.age - a.age
})

console.log(studentArr)
// [{'name': '王五', age: 37},{'name': '张三', age: 26},{'name': '李四', age: 12},{'name': '赵六', age: 4}]

 9 .slice()

var arrs1 = [0, 1, 2, 3, 4, 5, 6];
var sliceArr = arrs1.slice(1);
var sliceArr1 = arrs1.slice(1, 4);
var sliceArr2 = arrs1.slice(-3);
console.log(sliceArr); //.slice(N)按可指定位置切割数组,一个参数是从第N个开始切到最后(返回一个新数组)
console.log(sliceArr1); //.slice(x,y)按可指定位置切割数组,两个参数是从第个x个切到第个y个(注:不包含第y个)(返回一个新数组,不改变原数组)
console.log(sliceArr2); //.slice(-3)按可指定位置切割数组,一个参数是负数,例如从倒数第三个开始切到最后(返回一个新数组,不改变原数组)

10 .splice()

第一个参数(必需):整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
第二个参数(必需):要删除的项目数量。如果设置为 0,则不会删除项目。
第三个参数(可选):向数组添加的新项目。

var arrs2 = [0, 1, 2, 3, 4, 5, 6];
arrs2.splice(1, 2, 99);
console.log(arrs2); //.splice(1,2,99) 第一个参数:添加/删除项目的位置(1开始)第二个参数:添加/删除项目的数量(2个)第三个参数:数组添加的新项目(99)(改变原数组)
原文地址:https://www.cnblogs.com/suitongyu/p/12621180.html