首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >为数组中的对象分配优先级值

为数组中的对象分配优先级值
EN

Stack Overflow用户
提问于 2017-02-13 07:11:24
回答 3查看 2.7K关注 0票数 1

我有一个Node程序,在这个程序中,我需要根据不同的CPU值为不同的对象分配‘优先级’。因此,我将所有的对象存储在一个数组中,并根据增加的CPU值对这个数组进行排序。

我的数组看起来如下( cpu值不断变化):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var lowerThan95 = [{
    'myname': 'abc',
    'CPU': 10
}, {
    'myname': 'gfd',
    'CPU': 45
}, {
    'myname': 'vfd',
    'CPU': 100
}, {
    'myname': 'bvf',
    'CPU': 80
}]

所以最低CPU的优先级应该是1,第二低优先级是2等等。我的想法是添加一个“优先级”属性,然后遍历数组中的每个元素,每次添加一个优先级。然而,我如何做到这一点呢?

这就是我迄今为止尝试过的:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// sorts the array based on ascending cpu values
lowerThan95.sort(function(a, b) {
    return parseFloat(a.CPU) - parseFloat(b.CPU);
});

// what do I do here?
lowerThan95.forEach(function(value) {
    var priority = priority + 1
    console.log('pr', priority)
});

这样做对吗?有更好的方法吗?如有任何帮助/建议,将不胜感激。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-02-13 07:26:45

要修复排序,必须使用a.CPUb.CPU。然后,可以迭代排序数组并设置prioroty属性,如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var lowerThan95 = [{
    'myname': 'abc',
    'CPU': 10
}, {
    'myname': 'gfd',
    'CPU': 45
}, {
    'myname': 'vfd',
    'CPU': 100
}, {
    'myname': 'bvf',
    'CPU': 80
}]

// sorts the array based on ascending cpu values
lowerThan95.sort(function(a, b) {
    return parseFloat(a.CPU) - parseFloat(b.CPU);
});

// what do I do here?
for (var i in lowerThan95) {
  lowerThan95[i].priority = +i+1;
};

console.log(lowerThan95);

此答案不使用ECMA6箭头函数,以便与Internet和较早的安卓/iOS浏览器版本兼容。

票数 2
EN

Stack Overflow用户

发布于 2017-02-13 07:26:22

排序数组之后,可以使用forEach循环为每个index + 1分配优先级。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var lowerThan95 = [{
  'myname': 'abc',
  'CPU': 10
}, {
  'myname': 'gfd',
  'CPU': 45
}, {
  'myname': 'vfd',
  'CPU': 100
}, {
  'myname': 'bvf',
  'CPU': 80
}]
lowerThan95.sort((a, b) => a.CPU - b.CPU).forEach((e, i) => e.priority = (i + 1))

console.log(lowerThan95)

票数 0
EN

Stack Overflow用户

发布于 2017-02-13 07:27:20

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
lowerThan95.map(function(obj,index) {
    obj["priority"]=lowerThan95.length-index;
    return obj;
});

正如您所看到的,正如其他人所指出的,这段代码非常没有意义,因为每个优先级都是长度减去索引。如果你真的想数一数:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
lowerThan95.reduce((val,obj)=>obj.priority= ++val,0);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42207302

复制
相关文章
JS/TS 对数组中的对象按对象的值进行去重
举个例子:对以下数组按 lastName 的值进行去重 let listData = [ { firstName: "Rick", lastName: "Sanchez", size: 18 }, { firstName: "Morty", lastName: "Smith", size: 6 }, { firstName: "Jerry", lastName: "Smith", size: 3 }, { firstName: "Beth", lastName: "Smith", size:
Leophen
2020/10/09
7.1K0
JS/TS 对数组中的对象按对象的值进行去重
小程序修改数组中对象的某个值或者修改对象值
setData的时候要修改的值是不需要加this.data.xxx的,直接xxx,
蓓蕾心晴
2018/07/24
6.3K0
JS/TS 对数组中的对象按相同值进行分组
举个例子:对以下数组按 lastName 的值进行分组分类 const listData = [ { firstName: "Rick", lastName: "Sanchez", size: 18 }, { firstName: "Morty", lastName: "Smith", size: 6 }, { firstName: "Jerry", lastName: "Smith", size: 3 }, { firstName: "Beth", lastName: "Smith", s
Leophen
2020/10/09
8.2K0
JS/TS 对数组中的对象按相同值进行分组
将数组中多个对象的同名属性值取出合并成新数组
业务中需求的方法,接口返回一个数组,里面包含了大量的对象,具有同名的属性名,比较常见。但是需要将其中参数为name的属性值全部取出,合并成数组。
子舒
2023/08/23
5380
js数组索引值为小数,数组长度为多少
// 数组索引值为浮点型 // array 小数点索引值 不会增加数组长度,但是如果后面又加了array索引值 赋值,赋值在第几位,前几位长度就都有了 // 不占用数组元素个数,不改变数组长度,以key:value形式存在 var arr1 = []; arr1[0.5] = 2; arr1[1] = 3; console.log(arr1); // [ <1 empty item>, 3, '0.5': 2 ] console.log(arr1.length); arr1[3] = 3; console.
蓓蕾心晴
2022/06/12
3.6K0
vue删除数组中的某个对象_vue修改数组的元素的值
object.values(obj) 返回的是一个对象的所有key的value数组即 对象属性的值组成的数组
全栈程序员站长
2022/11/01
6.5K0
vue删除数组中的某个对象_vue修改数组的元素的值
将Js数组对象中的某个属性值升序排序,并指定数组中的某个对象移动到数组的最前面
  本篇文章主要实现的是将一个数组的中对象的属性值通过升序的方式排序,然后能够让程序可以指定对应的数组对象移动到程序的最前面。
追逐时光者
2020/07/28
12.4K0
小程序中监听textarea或者input输入的值动态改变data中数组的对象的值
小程序中监听textarea或者input输入的值动态改变data中数组的对象的值,不能通过setData设置数组对应索引的对象的值来改变,改变之后,能检测到改变,但是值为空。先通过赋值改变其中数组中的对象的值,然后重新设置数组。
蓓蕾心晴
2018/07/24
4.4K0
小程序中监听textarea或者input输入的值动态改变data中数组的对象的值
小程序中监听textarea或者input输入的值动态改变data中数组的对象的值,不能通过setData设置数组对应索引的对象的值来改变,改变之后,能检测到改变,但是值为空。先通过赋值改变其中数组中的对象的值,然后重新设置数组。
用户4792944
2019/04/20
5.5K0
JavaScript 修改数组对象的 key 值
原数组对象: 修改数组对象的 key 值 let objArr = [ { name: "Rick", age: 14, }, { name: "Morty",
Leophen
2020/12/23
6.2K0
JavaScript 修改数组对象的 key 值
JS中,如何检查对象是否为数组?
最近开源了一个 Vue 组件,还不够完善,欢迎大家来一起完善它,也希望大家能给个 star 支持一下,谢谢各位了。
前端小智@大迁世界
2021/02/02
7.2K0
JS中,如何检查对象是否为数组?
数组里的ID做为对象的KEY值,转成新的对象
json.png $.ajax({ type: "get", url: "data.json", data: "data", dataType: "json", success: function (response) { console.log(response) var obj = {}; for (const key in response.results) { if (response.results.hasOwnProperty(key)
lyudev
2022/08/04
3.4K0
数组里的ID做为对象的KEY值,转成新的对象
JAVA对象在JVM中内存分配
如果你还不了解JVM内存模型的建议您先看下JVM内存模型 以一下代码为例,来分析下,java的实例对象在内存中的空间分配(JDK1.8)。 public class Student { private String name; private static Birthday birthday = new Birthday(); public Student(String name) { this.name = name; } public sta
java404
2018/05/18
1.9K0
【性能优化】面试官:Java中的对象和数组都是在堆上分配的吗?
https://github.com/sunshinelyz/mykit-delay
冰河
2020/10/29
2.1K0
【性能优化】面试官:Java中的对象和数组都是在堆上分配的吗?
CA1825:避免数组分配长度为零
初始化长度为零的数组将导致不必要的内存分配。 请改为通过调用 Array.Empty 方法来使用静态分配的空数组实例。 内存分配在此方法的所有调用之间共享。
用户4268038
2022/02/19
4320
Java中对象数组的使用
对象数组其实和Java的数组类似的,所以要很清楚Java的数组是如何使用的,如果有不懂的可以点下面这个链接Java数组的使用
Gorit
2021/12/09
7.1K0
Java中对象数组的使用
JS中特殊的对象-数组
前言 之前学习的数据类型,只能存储一个值(比如:Number/String)。我想在一个变量中存储多个值,应该如何存储? 所谓数组,就是将多个元素(通常是同一类型)按一定顺序排列放到一个集合中,那么这个集合我们就称之为数组。 1.1 数组的创建 // 字面量方式创建数组 var arr1 = []; //空数组 // 创建一个包含3个数值的数组,多个数组项以逗号隔开 var arr2 = [1, 3, 4]; // 创建一个包含2个字符串的数组 var arr3 = ['a', 'c']; cons
汤清丽
2019/12/01
9.1K0
Fortran中的陷阱——可分配数组的size
早期的Fortran程序多使用静态数组。在编译时,静态数组被分配固定的存储空间,且在程序运行过程中静态数组的大小是不会改变的。为了能够存储足够多的数据,静态数组的大小需要足够大,这会造成内存的浪费。如果静态数组的大小不够大,程序的运行也可能会出现错误。
用户7592569
2021/01/04
2.9K0
Java中的对象都是在堆上分配的吗?
这和我们平时的理解可能有些不同。虚拟机栈一般是用来存储基本数据类型、引用和返回地址的,怎么可以存储实例数据了呢?
Java技术栈
2020/02/21
2.7K0
点击加载更多

相似问题

为javaScript数组对象分配多个值

15

在jquery中为对象数组中的对象分配新值

26

在Matlab中为对象数组分配数组值

24

为对象- Javascript/React中的项分配数组值

11

为DAG分配优先级

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文