您的位置:首页 > Web前端 > JavaScript

js数组操作

2017-09-29 00:00 204 查看

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";
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  JS操作数组 js数组