数组的添加和删除
- 栈操作(先进后出)
// push() ,返回新数组的长度
// pop() 取出数组中的最后一项,修改length的属性, 返回被删除的元素
<script>
var arr = [1,2,3];
arr.push(4);
var aaa = arr.push(4);
console.log(arr); // expected output : [1, 2, 3, 4]
console.log(aaa); // expected output : 4
arr.push(); //在数组的最末尾删除一个元素 expected output:[1,2,3];
</script>
- 队列操作(先进先出)
// shift() // 取出数组中的第一个元素,返回被删除项
// unshift() // 在数组中的最前面插入项,返回数组的长度
<script>
var arr = [1,2,3,4];
arr.unshift(0);
var aaa = arr.unshift(0);
console.log(arr); // expected output : [0,1,2,3,4];
console.log(aaa); // expected output : 5
var bbb = arr.shift();
arr.shift();
console.log(bbb) // expected output : 0
console.log(arr) // expected output : [1,2,3,4]
</script>
- 排序方法
// reverse() // 翻转数组,并返回该数组
<script>
var arr = [1,2,3,4,5];
arr.reverse();
var aaa = arr.reverse();
console.log(aaa); // expected output : [5,4,3,2,1];
console.log(arr); // expected output : [5,4,3,2,1];
</script>
// sort()方法用原地算法对数组的元素进行排序,并返回数组。排序算法现在是稳定的。默认排序顺序是根据字符串Unicode码点。
// sort()功能很强大!能对数字和字母进行排列,但是只能对数字的第一位进行排列,怎么解决这个问题呢,可以通过回调函数传递规则
<script>
var arr = [7,6,5,4,3,2,1];
console.log(arr);
console.log(arr.sort()); // expected output : [1,2,3,4,5,6,7];
var arr2 = [1,13,15,6,3,4,5];
console.log(arr2.sort()); // expected output : [1,13,15,3,4,5,6];
</script>
附加:回调函数传递规则的问题
<script>
var arr = [1,13,5,6,4];
var aaa = arr.sort( function (a,b){
return b-a;;
});
var bbb = arr.sort(function (a,b){
return b-a;
});
console.log(aaa); // expected output: [13,6,5,4,1];
console.log(bbb); // expected output : [1,4,5,6,13]
</script>