slice截取数组--不改变原数组
var arr1=['1','2','3','4'] // slice(startIndex,endIndex) 截取出的数组包括startIndex的元素,不包括endIndex位置的元素 var arr2=arr1.slice(1,2)//['2'] // 不提供endIndex,即截取到最后一位 var arr3=arr1.slice(2) //['3','4'] // startIndex为负数即从后往前数几位 var arr4=arr1.slice(-3) // startIndex与endIndex都为负数,则倒着数的第几位到第几位 var arr5=arr1.slice(-3,-1) // 如果startIndex>endIndex,则返回空数组 console.log('arr1------',arr1); // ['1', '2', '3', '4'] console.log('arr2------',arr2); // ['2'] console.log('arr3------',arr3); // ['3', '4'] console.log('arr4------',arr4); // ['2', '3', '4'] console.log('arr5------',arr5); // ['2', '3']
splice截取数组--会改变原数组
var arr1=['1','2','3','4'] // splice(startIndex,length,newElement1,newElement2,...) arr1.splice(1,2,'5','6') //从第1位开始截取2个长度的元素,并插入'5'、'6' console.log('arr1------',arr1); // ['1','5','6','4'] // startIndex为负数时,则从右往左数第几位 var arr2=['a','b','c','d'] arr2.splice(-2,1,'e') console.log('arr2------',arr2) // ['a', 'b', 'e', 'd'] var arr3=['1','2','3','4'] // length为0时,则不进行截取操作 arr3.splice(2,0,'a') console.log('arr3------',arr3) // ['1', '2', 'a', '3', '4'] // length为负数时,当作0处理