我有一个菜单链接的数组['A','B','C','D','X','Y','Z']
,我想把它们分成这样的数组结果{'left':['A','B','C','D'], 'right': ['X', 'Y','Z']}
。我想把它们平均分成两半。列表中的项目数量可以变化。最简单的方法是什么?
我有一个菜单链接的数组['A','B','C','D','X','Y','Z']
,我想把它们分成这样的数组结果{'left':['A','B','C','D'], 'right': ['X', 'Y','Z']}
。我想把它们平均分成两半。列表中的项目数量可以变化。最简单的方法是什么?
Array.prototype.slice
方法从一个数组中提取子数组。var arr = ['A','B','C','D','X','Y','Z'],
mid = Math.ceil(arr.length/2),
obj = {
left: arr.slice(0, mid),
right: arr.slice(mid)
};
Array.prototype.splice
:var arr = ['A','B','C','D','X','Y','Z'],
obj = {
left: arr.splice(0, Math.ceil(arr.length/2)),
right: arr
};
使用 slice
函数将数组拆分为两部分。
var numbers= [1,2,3,4,5,6,7,8,9,10],
leftEnd= Math.ceil(numbers.length/2),
result= {
left: numbers.slice(0,leftEnd),
right: numbers.slice(leftEnd)
};
function splitInTwo(arr){
var middle = Math.ceil(arr.length / 2);
return {
left: test.slice( 0, middle ),
right: test.slice( middle )
};
}
var test = ['A','B','C','D','X','Y','Z'];
document.body.innerHTML = JSON.stringify( splitInTwo(test) );