数组常用操作
一、数组push和pop方法
1.数组push
方法(即:在数组末尾添加一个新元素)
var colors = ["red", "black", "orange", "blue"];
colors.push("yellow");
console.log(colors);// ["red", "black", "orange", "blue", "yellow"];
2.数组pop
方法(即:在数组末尾删除一个新元素)
var colors = ["red", "black", "orange", "blue"];
colors.pop();
console.log(colors);// ["red", "black", "orange"];
/* 也可打印删除的元素
* console.log(colors.pop());// blue
*/
二、数组shift和unshift方法
1.数组shift
方法(即:在数组头部删除一个新元素)
var colors = ["red", "black", "orange", "blue"];
colors.shift();
console.log(colors);// ["black", "orange", "blue"];
/* 也可打印删除的元素
* console.log(colors.shift());// red
*/
2.数组unshift
方法(即:在数组头部新增一个新元素)
var colors = ["red", "black", "orange", "blue"];
colors.unshift("yellow");
console.log(colors);// ["yellow", "red", "black", "orange", "blue"];
/* 也可打印新数组的长度
* console.log(colors.unshift());// 5
*/
三、数组下标
1.什么是数组下标?
以下方数组举例:
数组索引
从0
开始,通过索引指向数组的每一个元素,即:
colors[0]
为red
,
colors[1]
为black
,
以此类推...
var colors = ["red", "black", "orange", "blue"];
2.根据索引修改元素(修改索引为2的元素)
var colors = ["red", "black", "orange", "blue"];
colors[2] = "yellow"
console.log(colors);// ["red", "black", "yellow", "blue"];
3.根据索引删除元素(删除索引为2的元素)
需要注意的是,赋值为
undefined
的并不能完全删除该索引位置,会留下一个空的位置
var colors = ["red", "black", "orange", "blue"];
colors[2] = undefined;
console.log(colors);// ["red", "black",, "blue"];
四.数组的length属性
数组的length
代表数组的长度,即数组中 元素的多少
var colors = ["red", "black", "orange", "blue"];
colors.length = 4;
colors.unshift("yellow")
console.log(colors.length);// 5
1.数组使用对象delete
方法
JavaScript
中数组属于对象
,即代表,数组也可使用对象中的方法
数组的length
代表数组的长度,即数组中元素的多少
var colors = ["red", "black", "orange", "blue"];
colors.length = 4;
delete colors[colors.length-1];
console.log(colors.length);// 3
/*需要注意的是,该删除也会留下一些问题,会留下未定义的位置*/
五.数组的特殊的操作方法
1.数组splice
方法
声明一个数组
let colors = ["red", "black", "orange", "blue"];
(1)使用splice
一个参数
会从参数索引
位置开始,删除到最后一个元素
colors.splice(1);
console.log(colors);//["red"]
(2)使用splice
两个参数
会从参数1
索引位置开始,删除到参数2
,包括参数2
的元素
colors.splice(1,2);
console.log(colors);//["red", "blue"]
(3)使用splice
三个或三个以上参数
会从参数1
索引位置开始,删除到参数2
,包括参数2
的元素,并将从参数3开始直到最后一个参数
,在参数1
位置插入到数组中
colors.splice(1,2,"yellow","Azure");
console.log(colors);//["red", "yellow", "Azure", "blue"]
2.数组concat
方法
使用concat
将一个或多个数组可将合并
到一个新数组
var color1 = ["red", "black"];
var color2 = ["orange", "blue"];
var color3 = ["yellow"]
var colors = color1.concat(color2);
var colors2 = color1.concat(color2,color3);
console.log(colors);// ["red", "black", "orange", "blue"]
console.log(colors2);// ["red", "black", "orange", "blue", "yellow"]
3.数组slice
方法
使用slice
将数组的某段片段切割出来生成一个新数组
(不删除原数组)
(1) 使用slice
一个参数
会从参数1
索引位置开始,截取到最后一个元素
var color1 = ["red", "black", "orange", "blue", "yellow"]
var colors = color1.slice(1);
console.log(colors);// ["black", "orange", "blue", "yellow"]
(2) 使用slice
两个参数
var color1 = ["red", "black", "orange", "blue", "yellow"]
var colors = color1.slice(1,1);
console.log(colors);// ["black"]
六.判断数组的方法(部分)
1.数组isArray
方法(仅支持es5
及以上浏览器)
var colors = ["red", "black", "orange", "blue", "yellow"]
console.log(Array.isArray(colors));// true
2.自定义isArray
方法
var colors = ["red", "black", "orange", "blue", "yellow"]
function isArray(x) {
return x.constructor.toString().indexOf("Array") > -1;
}
console.log(isArray(colors));// true
3.使用instanceof
进行判断
var colors = ["red", "black", "orange", "blue", "yellow"]
console.log(colors instanceof Array);// true