为了账号安全,请及时绑定邮箱和手机立即绑定

如何从数组中获取子数组?

如何从数组中获取子数组?

12345678_0001 2019-12-25 14:14:50
我有var ar = [1, 2, 3, 4, 5]并想要一些函数getSubarray(array, fromIndex, toIndex),调用的结果getSubarray(ar, 1, 3)是新数组[2, 3, 4]。
查看完整描述

3 回答

?
慕妹3146593

TA贡献1820条经验 获得超9个赞

看一眼 Array.slice(begin, end)

const ar  = [1, 2, 3, 4, 5];


// slice from 1..3 - add 1 as the end index is not included


const ar2 = ar.slice(1, 3 + 1);


console.log(ar2);


查看完整回答
反对 回复 2019-12-25
?
Smart猫小萌

TA贡献1911条经验 获得超7个赞

为了简单地使用slice,请使用我对Array Class的扩展:


Array.prototype.subarray=function(start,end){

     if(!end){ end=-1;} 

    return this.slice(start, this.length+1-(end*-1));

}

然后 :


var bigArr=["a", "b", "c", "fd", "ze"]

测试1:


bigArr.subarray(1,-1)

<[“ b”,“ c”,“ fd”,“ ze”]


测试2:


bigArr.subarray(2,-2)

<[“ c”,“ fd”]


测试3:


bigArr.subarray(2)

<[“ c”,“ fd”,“ ze”]


对于使用其他语言(例如Groovy)的开发人员来说,可能会更容易


查看完整回答
反对 回复 2019-12-25
?
慕尼黑8549860

TA贡献1818条经验 获得超11个赞

const array_one = [11, 22, 33, 44, 55];

const start = 1;

const end = array_one.length - 1;

const array_2 = array_one.slice(start, end);

console.log(array_2);


查看完整回答
反对 回复 2019-12-25
  • 3 回答
  • 0 关注
  • 921 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号