(1)数组和String对象都有slice()方法。
//Array var list = ['A','B','C','D','DS']; console.log(list.slice(2,4));//截取后还是数组 //输出:["C", "D"] //String var str = 'ABCSDASD'; console.log(str.slice(2,4)); //输出:CS
(2)splice方法
var a = [1,2,3,4,5], b = [1,2,3,4,5]; console.log(a.splice(2,1),a);//从数组中删除元素,会改变原数组 console.log(b.splice(2,0,'b'),b);//第二个参数设置为0,不会删除参数 console.log(b.splice(2,1,'b'),b);
//结果
//[3] [1, 2, 4, 5] //[3] [1, 2, "b", 4, 5]
应用:
//从数组中随机取出一些元素 //array 原始数组 //require 需要的个数 function getRadomArray(array,require){ var arr = array.slice(0),//使用slice实现数组的拷贝 result = []; for(var i=0;i<require;i++) { var ra = Math.floor(Math.random()*arr.length); result.push(arr.splice(ra,1)[0]) } return result; }