gpt4 book ai didi

javascript - 如何从数组对象中返回多个值作为新变量?

转载 作者:行者123 更新时间:2023-12-01 01:49:35 25 4
gpt4 key购买 nike

我的数组如下所示:

var points = [{category: "Category A", correct: "0"},{category: "Category B", correct: "4"}];

我正在尝试查看哪个类别的正确数量最多。我首先在数组映射上使用 Math.max 来确定哪个是最高值(它返回 4)。但是当我尝试扩展该值时,会返回它开始默认为 NaN。

var res = Math.max.apply(Math,points.map(function(k){
return k.correct;
}));

o. Correct 在此实例中将返回 4

JSFiddle

<小时/>

我尝试过的:

  1. 将我的返回切换到 k.category

    -> 这将返回“NaN”

  2. 将其视为函数并将两个变量存储在 Math.max 中,这将拉取对象的两个值,但它会对数组中的两个对象执行此操作。

    Math.max.apply(数学,points.map(函数(k){
    var highCat = k.category;
    var最高Cor = k.正确;
    警报(最高猫+最高Cor);
    }));

关于如何将它们存储为两个单独的变量以便稍后引用,我有什么想法吗?

最佳答案

您可以对数组进行排序并获取第一个元素

var points = [{category: "Category A", correct: "0"},{category: "Category B", correct: "4"}];
var sorted = points.sort((a,b)=>b.correct - a.correct)
var highest = sorted[0];
alert(highest.category + highest.correct);

与对象解构相同

var points = [{category: "Category A", correct: "0"},{category: "Category B", correct: "4"}];   
var {category:highestCateogry,correct:highestCorrect} = points.sort((a,b)=>b.correct - a.correct)[0];
alert(highestCateogry + highestCorrect);

关于javascript - 如何从数组对象中返回多个值作为新变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51655350/

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