<!DOCTYPE html>
<html >
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
</body>
<script>
function aa(){
var arr1 = ['a','b','c','d','e','f','g'];
var arr2 = arr1.slice(-5);
console.log(arr2,arr1);
var arr3 = arr1.slice(-7);
console.log(arr3,arr1);
var arr4 = arr1.slice(-8,3);
console.log(arr4,arr1);
var arr5 = arr1.slice(-2,6);
console.log(arr5,arr1);
}
aa();
var a1 = [1,2,3,4,5,6,7]
//删除
var b1 = a1.splice(-9,3);
console.log(a1,b1);
//插入 1之前插入
var a2 = [1,2,3,4,5,6,7]
var b2 = a2.splice(-9,-2,'rr','tt');
console.log(a2,b2);
//替換
var a3 = [1,2,3,4,5,6,7]
var b3 = a3.splice(9,-3,'qq','ee');
console.log(a3,b3);
//總結:
//slice(原數組不會改變):1、一個參數表示從開始位置到length-1;如果是負數則先加上array.length,為負輸出整個數組,為正則表示該數值為起始位置到length-1;
//2、兩個正參數(n1,n2)并且n1<n2,也就是前一個參數小于後一個表示:[n1,n2)即從n1到n2-1;
//3、兩個負數傳回空,後一個參數小于前一個傳回空,大于數組長度傳回空;
//4、一正一負,負數+array.length再判斷(如果還是負,負數就當成0),滿足以上2還是3即可。
//splice(原數組會改變),splice(位置參數(必選),個數參數(必選),插入/替換字元(可選),插入/替換字元(可選).....)
//1、位置參數(若為負數+array.length,計算一次為負當成0,為正則為起始位置),參數為正數就直接為起始位置;
//2、個數參數不為正時均按0來判斷。後面有可選參數時:個數參數為正數時,則為替換,否則為插入(在起始位置前插入)。
</script>
</html>