热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Javascript从关联数组中找到最小数字(冒泡排序方法)

如何解决《Javascript从关联数组中找到最小数字(冒泡排序方法)》经验,为你挑选了1个好方法。

所以我尝试将冒泡排序技术应用于关联数组.

我尝试的是制作一个普通的数组,然后应用冒泡排序.这工作,所以现在我正在尝试为我的关联数组做同样的事情,但我不明白为什么它不起作用,有人可以解释并告诉我如何做到这一点?

正常数组冒泡排序代码: <- 这个有效

var numbers= new Array()

numbers[0] = 22;
numbers[1] = 3;
numbers[2] = 65;
numbers[3] = 75;
numbers[4] = 500;
numbers[5] = 2;
numbers[6] = 44;

for(var i=0; i

关联数组冒泡排序代码: <- 不起作用

var celsius= new Array()

celsius["Monday"] = 22;
celsius["Tuesday"] = 3;
celsius["Wednesday"] = 65;
celsius["Thursday"] = 75;
celsius["Friday"] = 1;
celsius["Saterday"] = 2;
celsius["Sunday"] = 44;

for(var temp in celsius)
{
    if(celsius[temp] 

任何人都可以告诉我,我试图应用的方法是否可行?

提前致谢!



1> JLRishe..:

你的尝试不起作用有几个原因,但你的假设有一个根本的缺陷:对象中属性的顺序是未定义的,所以你不应该尝试重新排列它们.

没有理由为此使用排序.只需浏览一次对象并找到最低值:

var min = Infinity;
for(var day in celsius) {
    if(celsius[day] 

一个更好的解决方案:

var celsius = [];

celsius["Monday"] = 22;
celsius["Tuesday"] = 3;
celsius["Wednesday"] = 65;
celsius["Thursday"] = 75;
celsius["Friday"] = 1;
celsius["Saterday"] = 2;
celsius["Sunday"] = 44;

var min = Object
  .keys(celsius)
  .map(function(key) {
    return celsius[key];
  })
  .reduce(function(last, next) {
    return last 
        
推荐阅读
author-avatar
谢超4444
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有