JavaScript切片方法?

时间:2011-04-02 21:46:38

标签: javascript

我想将一个数组的元素切割成一个新的左右数组。我被困在如何开始这个。

6 个答案:

答案 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)

嗯......你看过.slice()吗?

new_array = your_array.slice( start_index , end_index );

这会创建一个全新的数组,而不是引用。

答案 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