我如何在Javascript中拥有可变长度数组的前3个元素[重复]

Posted

技术标签:

【中文标题】我如何在Javascript中拥有可变长度数组的前3个元素[重复]【英文标题】:how can i have the first 3 elements of an array of variable length in Javascript [duplicate] 【发布时间】:2018-01-17 15:02:00 【问题描述】:

我想获取可变长度数组的前 3 个元素。我已经对我的数组进行了排序,我想获得前 3 名。

这是我所做的:

var diffSplice = this.users.length - 1;
return this.users.sort(this.triDec).splice(0,diffSplice)

我的“解决方案”仅适用于 4 个元素 (-1) 的数组

有没有更好的使用拼接方法的方法?

感谢您的帮助

【问题讨论】:

你试过Array.prototype.slice()吗? top = arr.slice(0, 3); 【参考方案1】:

前三项可以使用Array#slice

return this.users.sort(this.triDec).slice(0, 3);

【讨论】:

【参考方案2】:

你不想为 diffSplice 使用 const 值吗

var diffSplice = 3;
return this.users.sort(this.triDec).slice(0,diffSplice)

尝试运行

let arr = [1, 2, 3, 4, 5];
console.log(arr.slice(0, 3));

参考Array Silce

【讨论】:

【参考方案3】:

填写Splice的deletecount:

var sortedArray = this.users.sort(this.triDec);
return sortedArray.splice(0, 3);

检查MDN

【讨论】:

为什么投反对票?使用splice 而不是slice? OP 没有提到应该维护原始数组。

以上是关于我如何在Javascript中拥有可变长度数组的前3个元素[重复]的主要内容,如果未能解决你的问题,请参考以下文章

使struct对象拥有可变大小的数组

C99 在运行时如何计算可变长度数组的大小?

如何在 JavaScript 中获取数组循环的前一个和下一个元素?

如何自定义一个长度可变数组

从C中的函数返回具有多个可变长度数组的结构

在 MS Visual C++ 中启用 VLA(可变长度数组)?