我想将一个数组的元素切割成一个新的左右数组。我被困在如何开始这个。
答案 0 :(得分:4)
您需要从“slice”方法开始。请注意,它返回一个NEW数组而不更改旧数组,因此您还需要返回并改变旧数组。
例如:
var a = [1,2,3,4,5],
b = a.slice(3);
a.length = 3;
// a is now [1,2,3]
// b is now [4,5]
答案 1 :(得分:1)
答案 2 :(得分:1)
我使用拼接。
var a=[1,2,3,4,5,6];
var b=a.splice(3,a.length);
now a= [1,2,3]
and b=[4,5,6]
答案 3 :(得分:1)
鉴于此数组:
var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
如果要拆分数组,使前4个项目转到左侧数组,其余项目转到右侧数组,则执行以下操作:
var leftArr = arr.slice(0, 4);
和
var rightArr = arr.slice(4);
您可以根据分割位置创建一个返回这两个数组的函数:
function splitArr(arr, i) {
return [ arr.slice(0, i), arr.slice(i) ];
}
答案 4 :(得分:0)
来自http://www.w3schools.com/jsref/jsref_slice_array.asp:
语法:
array.slice(start, end)
示例:
<script type="text/javascript">
var fruits = ["Banana", "Orange", "Apple", "Mango"];
document.write(fruits.slice(0,1) + "<br />");
document.write(fruits.slice(1) + "<br />");
document.write(fruits.slice(-2) + "<br />");
document.write(fruits);
</script>
输出:
Banana
Orange,Apple,Mango
Apple,Mango
Banana,Orange,Apple,Mango
答案 5 :(得分:0)
<html>
<body>
<script type="text/javascript">
var fruits = ["Banana", "Orange", "Apple", "Mango"];
document.write(fruits.slice(0,1) + "<br />"); //Banana
document.write(fruits.slice(1) + "<br />"); //Orange,Apple,Mango
document.write(fruits.slice(-2) + "<br />"); //Apple,Mango
document.write(fruits); //Banana,Orange,Apple,Mango
</script>
</body>
</html>
(来自w3schools的参考资料): http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_slice_array