js数组操作 顶

1.数组的创建

var numbers = [];
var numbers = [1,2,3,4,5];
var numbers = new Array();
var numbers = new Array(1,2,3,4,5);
var numbers = new Array(5);

2.数组的读写

var numbers = [ ];
    for (var i = 0; i < 5; i++) {
        numbers[i] = i;
    }
/*-------------分割线-----------*/
    var numbers = [1,2,3,4,5];
    var sum = 0;
    for (var i = 0; i < numbers.length; i++) {
        sum += numbers[i];
    }

3.数组的添加

var numbers = [1,2,3,4,5];
numbers.push(6);//数组的末尾添加一个元素

var numbers = [1,2,3,4,5];
numbers[numbers.length] = 6;//也可以用数组的长度属性为数组添加元素
/*-----------------------分割线-------------------*/
var numbers = [2,3,4,5,6];
numbers.unshift(1);//数组的开头添加一个元素

var numbers = [2,3,4,5,6];
var n = numbers.length;
for (var i = n; i >= 0; --i) {
    numbers[i] = numbers[i-1];
}
numbers[0] = 1;//不利用数组提供的方法,自己定义一个方法

4.数组的删除

var numbers = [1,2,3,4,5];
numbers.pop();//删除数组的末尾元素

var numbers = [1,2,3,4,5];
numbers.shift();//删除数组的开头元素

5.从数组中间位置添加和删除元素

/*
splice()用法
1.起始索引(也就是你希望开始添加元素的地方)
2.需要删除的元素个数(添加元素时该参数设为0)
3.需要添加进数组的元素(不必组织成一个数组,可以是任意的元素序列)
* */
var numbers = [1,2,3,4,5];
var newElements = [4,5,6];
numbers.splice(3,0,newElements);//第三个位置以后添加4,5,6
numbers.splice(3,0,4,5,6);//第三个位置以后添加4,5,6
numbers.splice(3,4);//第三个位置以后删除四个元素

6.数组的排序

var numbers = [1,2,3,4,5];
    numbers.reverse();//5,4,3,2,1将数组中的元素的顺序进行翻转

    var names = ["David","Mike","Cynthia","Bryan"];
    names.sort();//Bryan,Cynthia,David,Mike.字符串类型的数组排序,sort方法非常好使
    
    var num = [3,1,2,100,4,200];
    num.sort();//1,100,2,200,3,4;sort方法是按照字典进行排序的,因此他假定元素都是字符串类型
/*    对于数字类型,该函数可以是一个简单的相减操作,从一个数字中减去另一个数字。如果结果为负,
    那么被减数小于减数;如果结果为0,那么被减数和减数相等;如果结果为正,那么被减数大于减数。*/
    function compare(num1,num2) {
        return num1 - num2;
    }
    num.sort(compare);

7.数组的拷贝

var numbers = [1,2,3,4,5];
var numbersOther = numbers;
//但是把一个数组赋值给另一个数组时,只是为被赋值的数组添加了一个新的引用。
//当你通过原引用修改了数组的值,另一个引用也会感知到这个变化。如下所示(这种行为称为浅复制)
numbers[0] = 100;
console.log(numbersOther[0]);//100

//深拷贝,将原数组中的每一个元素都复制一份到新数组中。
function copy(arr1, arr2) {
    for (var i = 0; i < arr1.length; ++i) {
        arr2[i] = arr1[i];
    }
}
var numbers = [1,2,3,4,5];
var numbersOther = [];
copy(numbers,numbersOther);
numbers[0] = 100;
console.log(numbersOther[0]);//1

8.字符串的数组化,数组的字符串化

var sentence = "A B C D E";
var words = sentence.split(" ");
console.log(words);//[A,B,C,D,E];

var words = [A,B,C,D,E];
var sentence = words.join("-");
console.log(sentence);//"A-B-C-D-E";

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券