如何使用JavaScript轻松截断数组?

2022-08-30 03:07:19

Linq 有一个方便的运算符方法,调用该方法在实现 的任何内容中返回给定数量的元素。在jQuery中,有没有类似的数组?Take()IEnumerable

或者,换个问:如何在Javascript中截断数组?


答案 1

切片方法

let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
arr = arr.slice(0, 4);
console.log(arr);

将返回前四个元素。

如果要丢弃其他值,请不要忘记将其赋回变量。

注意:这只是普通的javascript,不需要jquery。


答案 2

(2年后...)如果您确实希望截断数组,则还可以使用以下属性:length

var stooges = ["Moe", "Larry", "Shemp", "Curly", "Joe"];
stooges.length = 3; // now stooges is ["Moe", "Larry", "Shemp"]

注意:如果指定的长度长于当前长度,则会引入未定义的数组元素,如下所示。

var stooges = ["Moe", "Larry", "Shemp"];
stooges.length = 5;
alert(typeof stooges[4]); // alerts "undefined"

编辑:

如下@twhitehead所述,通过执行此操作可以避免添加未定义的元素:

var stooges = ["Moe", "Larry", "Shemp"];
stooges.length = Math.min(stooges.length, 5); 
alert(stooges.length)// alerts "3"