gpt4 book ai didi

javascript - 从数组的数组中过滤前 X

转载 作者:行者123 更新时间:2023-11-30 09:27:51 26 4
gpt4 key购买 nike

假设我们有一个包含数组的数组:

[
["2000-01-01", "xyz1@gmail.com", 1, 9, 338],
["2000-01-01", "xyz2@yahoo.com", 1, 2, 159],
["2000-01-01", "xyz3@yahoo.com", 1, 5, 462],
["2000-01-01", "xyz4@yahoo.com", 1, 6, 417],
["2000-01-01", "xyz5@gmail.com", 1, 3, 156],
["2000-01-01", "xyz6@gmail.com", 1, 8, 414],
]

我想根据最后一列获得前 2 名,即

["2000-01-01", "xyz3@yahoo.com", 1, 8, 462],
["2000-01-01", "xyz4@yahoo.com", 1, 6, 417],

我们可以使用 Array.filter 但不确定在这种情况下该怎么做。

最佳答案

您可以按索引 4 处的元素降序排序,并取前两个元素。

此提案的特点是 destructuring assignment ,其中一个数组被解构,属性 4 被重命名为 a rsp。到 b

Example:

                                                  vvv
{ 4: a } = ["2000-01-01", "xyz1@gmail.com", 1, 9, 338]
^

Result

a = 338

var array = [["2000-01-01", "xyz1@gmail.com", 1, 9, 338], ["2000-01-01", "xyz2@yahoo.com", 1, 2, 159], ["2000-01-01", "xyz3@yahoo.com", 1, 5, 462], ["2000-01-01", "xyz4@yahoo.com", 1, 6, 417], ["2000-01-01", "xyz5@gmail.com", 1, 3, 156], ["2000-01-01", "xyz6@gmail.com", 1, 8, 414]],
top2 = array.sort(({ 4: a }, { 4: b }) => b - a).slice(0, 2);

console.log(top2);
.as-console-wrapper { max-height: 100% !important; top: 0; }

关于javascript - 从数组的数组中过滤前 X,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48310495/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com