Hot For Coding
JavaScript数组创建、unshift、shift、pop、push函数操作

如何声明数组

var tmp = [];         // 简写模式 推荐
var tmp = new Array(); // 直接new一个
var tmp = Array();      // 或者这样也可以

在new数组的时候可以传入一个参数,表示数组的初始化长度

// new的时候传入一个参数表示初始化数组长度
var tmp = new Array(3); 

console.log(tmp.length);  // Output: 3

但如果你想创建一个只有一个元素3的数组,那么使用new方法是不能实现的,因为系统会把你传入的3当作数组的长度,除非你使用引号引起来当作字符串,如

var tmp = new Array('3'); 
console.log(tmp);  // Output: [3]

我们可以使用简写模式创建数组,这样就可以创建只有一个数字元素3的数组

var tmp = [3]
console.log(typeof tmp[0]);  // Output: number

也可以初始多个元素,并且元素的值可以是任意类型

// 简约模式创建数组
// 数组的元素可以是任意一种数据类型
var tmp = [3, true, 8.5, {'name':'lizhong'}, ['a','b']];
console.log(tmp.length); // Output: 5

unshift在数组第一个元素前插入元素

// 使用unshift在数组第一个元素前插入元素
// 返回数组长度
var tmp = ['a','b'];
var len = tmp.unshift('c');
console.log(len); // Output: 3
console.log(tmp); // Output: ["c", "a", "b"]

也可以一次插入多个元素,顺序依次从左边排起

// 使用unshift在数组第一个元素前插入元素
// 返回数组长度
var tmp = ['a','b'];
var len = tmp.unshift('c','d');
console.log(len); // Output: 4
console.log(tmp); // Output: ["c", "a", "b", "d"]

shift弹出数组第一个元素,返回被弹出的元素值

小实例:

// 使用shift弹出数组第一个元素
// 返回被弹出的元素值
var tmp = ['a','b','c'];
var val = tmp.shift();
console.log(val); // Output: a
console.log(tmp); // Output: ["b", "c"]

如果是一个空数组:

// 使用shift弹出数组第一个元素
// 返回被弹出的元素值
var tmp = [];
var val = tmp.shift();
console.log(val); // Output: undefined
console.log(tmp); // Output: []

push在数组末尾添加元素

跟unshift相反,push在数组末尾添加元素,返回添加元素以后的数组长度

// 使用push在数组末尾添加多个元素
// 返回数组最新长度
var tmp = ['a','b','c'];
var len = tmp.push('d');
console.log(len); // Output: 4
console.log(tmp); // Output: ["a", "b", "c", "d"]

也可以一次添加多个元素

// 使用push在数组末尾添加多个元素
// 返回数组最新长度
var tmp = ['a','b','c'];
var len = tmp.push('d','e','f');
console.log(len); // Output: 6
console.log(tmp); // Output: ["a", "b", "c", "d", "e", "f"]

pop函数删除数组末尾元素

跟shift相反,pop弹出的是数组末尾元素,返回被弹出的元素值

// 使用pop弹出数组末尾元素
// 返回被弹出的元素值
var tmp = ['a','b','c'];
var val = tmp.pop();
console.log(val); // Output: c
console.log(tmp); // Output: ["a", "b"]

如果数组为空,返回undefined

// 使用pop弹出数组末尾元素
// 返回被弹出的元素值
var tmp = [];
var val = tmp.pop();
console.log(val); // Output: undefined
console.log(tmp); // Output: []

利用以上四个函数,我们可以做一些队列处理,具体案例就不写代码了。

push功能其实也可以这么实现

var tmp = ['a','b','c'];
tmp[tmp.length] = 'd';
console.log(tmp); // Output: ["a", "b", "c", "d"]

注意:以上四个函数unshift、shift、pop、push函数操作都会在数组本身上修改。

TITLE: JavaScript数组创建、unshift、shift、pop、push函数操作

LINK: https://www.qttc.net/296_javascript_array_push_pop.html

NOTE: 转载内容请注明出处