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

新手上路,请多包涵

Linq 有一个方便的运算符方法,称为 Take() 以返回任何实现 IEnumerable 的给定数量的元素。在 jQuery 中是否有类似的东西来处理数组?

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

原文由 Alan Le 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 319
2 个回答

有一个 切片 方法

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

将返回前四个元素。

如果您想丢弃其他值,请不要忘记将其分配回您的变量。

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

原文由 Bob 发布,翻译遵循 CC BY-SA 4.0 许可协议

(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"

原文由 Jonathan M 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题