gpt4 book ai didi

javascript - 如何将新对象中的字段值设置为等于数组中字段的最高值?

转载 作者:行者123 更新时间:2023-11-28 20:21:49 25 4
gpt4 key购买 nike

我有一个包含 ObjectiveDetail 对象的 JavaScript 数组。

objectiveDetails[]

这里我添加一个新的objectiveDetail:

var emptyObjectiveDetail = {
"number": formData.objectiveDetails.length +1, // I want to change this !
"text": "",
"response": false,
"objectiveId": formData.objectiveId
};
objectiveDetails.push(emptyObjectiveDetail);

如何才能使分配给emptyObjectDetail字段的数字等于数组中objectiveDetail对象当前使用的最大数字。

换句话说,如果我有三个objectiveDetail对象,其“number”字段设置为1、4和5,那么当我添加一个新对象时,我想添加数字6而不是数组的长度+ 1

我也对使用 _underscore 感兴趣,并且想知道是否有一个好的方法可以使用下划线以及 javascript 来实现此目的

最佳答案

尝试以下示例。

基本思想是使用 .map 函数创建一个虚拟单维数组,其中仅包含 objectiveDetails 数组的 number 值,然后使用Math.max 查找该虚拟一维数组中的最大值。

var maxNum  = Math.max.apply(Math,objectiveDetails.map(function(o){return o.number;}));
var emptyObjectiveDetail = {
"number": maxNum+1,
"text": "",
"response": false,
"objectiveId": 123
};
objectiveDetails.push(emptyObjectiveDetail);

关于javascript - 如何将新对象中的字段值设置为等于数组中字段的最高值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18160003/

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