JavaScript之数组操作

数组增加元素操作


var arr = [80,75,60,5,60];//创建一个数组
//前增unshift();在原数组的前面增加元素
console.log(arr.unshift(1,2));//返返回值为新数组的长度 7
console.log(arr);//原数组发生改变 [1, 2, 80, 75, 60, 5, 60]
console.log(arr.unshift([1,2,3]));//插入数组的时候,插入的数组占用一个位置 8
console.log(arr);
//后增 push();//在原数组的后面增加元素
// [[1, 2, 3], 1, 2, 80, 75, 60, 5, 60]
console.log(arr.push(5,6));//返回值为新数组的长度
console.log(arr);//原数组发生改变
console.log(arr.push([1,2,3]));//插入数组的时候,插入的数组占用一个位置
console.log(arr);

数组删除元素操作


var arr = [80,75,60,5,60];//创建一个数组
//前删 shift();删除数组的第一个元素 每次只删除一个
console.log(arr.shift());//返回删除的元素 80
console.log(arr);//原数组发生变化 [75, 60, 5, 60]
//后删 pop();刷出数组的最后一个元素,每次只删除一个
console.log(arr.pop());//返回删除的元素 60
console.log(arr);//原数组发生变化[75, 60, 5]


改变数组


var arr = [20,30,30,60,45,88];
//改变 splice();
console.log(arr.splice(1,3));
//返回删除的元素的数组, 当有两个参数时,表示删除 这里表示从位置 1 开始 删除元素的个数为3 [30, 30, 60]
console.log(arr);//原数组发生改变 [60,45,88]
var newArr = [30,20,25,40,60];
console.log(newArr.splice(1,0,5));// 返回删除的元素console.log: [] 当参数个数超过两个的时候,第一个参数表示起始位置,第二个参数表示删除元素的个数,这里表示删除0个元素,第三元素以后表示插入的新元素
console.log(newArr);//原数组发生改变 [30, 5, 20, 25, 40, 60]

console.log(newArr.splice(3,2,8,"5"));//返回删除元素组成的数组 [25,40] 当参数个数超过两个的时候,第一个参数表示起始位置,第二个参数表示删除元素的个数,这里表示删除2个元素,第三元素以后表示插入的新元素
console.log(newArr);//原数组发生改变 [30, 5, 20, 8, "5", 60]

截取

var arr = [20,30,30,60,45,88];
//截取 slice();
console.log(arr.slice(1,4));//返回截取元素的数组
console.log(arr.slice(1));//返回截取元素的数组 当只有一个参数的时候 表示从该位置开始截取所以的元素
console.log(arr);//原数组不变

拼接

var arr = [20,30,30,60,45,88];
//拼接 concat();
console.log(arr.concat(1,2));//返回拼接后的新数组 在原数组后拼接
console.log(arr);//原数组不变
console.log(arr.concat(1,2).length);
console.log(arr.length);

console.log(arr.concat([4,5,6],3));//返回拼接后的新数组 拼接的元素存在数组的时候,直接拼接数组的元素,数组有几个元素占几个位置。
console.log(arr);//原数组不变

console.log(arr.concat([4,5,6],3).length);
console.log(arr.length);


复制


var arr = [20,30,30,60,45,88];

console.log(arr.slice(0));
console.log(arr.concat());
console.log(arr);

排序

var arr = [10,70,30,60,45,88];

console.log(arr.reverse());//返回新的数组
console.log(arr);//原数组发生改变

console.log(arr.sort());//返回排序后的数组 按编码排序 先比较首字母 按从小到大排序,首字母相同在依次比较第二个第三个;
console.log(arr);//原数组发生改变
//扩展
var newArr = [20,30,30,60,45,88];
console.log(newArr.sort(function (a,b) {return a - b;}));//如果是第一个元素减去第二个元素 元素按从小到大排序(数字);
console.log(newArr.sort(function (a,b) {return b - a;}));//如果是第二个元素减去第一个元素 元素按从小到大排序(数字);
//console.log(newArr );//原数组发生改变

转化

var arr = [20,30,30,60,45,88];
console.log(arr.toString());//将数组转化为字符串 默认以分号间隔 返回转化的字符串console.log: "20,30,30,60,45,88"
console.log(arr);//原数组不变 [20, 30, 30, 60, 45, 88]

console.log(arr.join(" "));//将数组转化为字符串 返回转化的字符串 以空格隔开 可以自己定义间隔符
// console.log: "20 30 30 60 45 88"

上一篇

TypeScript学习笔记(一)字符串新特性