【问题标题】:how do I access the values inside hash如何访问散列中的值
【发布时间】:2023-01-28 19:47:24
【问题描述】:

我想在 hash 中记录第二个索引,即 2

我试过了

 function getSecondSmallest(nums){
     let hash = {};
     for (let i = 0; i < nums.length; i++){
     let key = nums[i];
     hash[key] = 0;}
     console.log(hash[1]);}
     getSecondSmallest([2, 3, 6, 6, 5]);

【问题讨论】:

  • 为什么会这样?您需要对列表进行排序,然后访问索引 1 或可选地只迭代一次并记住最低和第二低的数字。
  • hash 是一个对象,而不是数组,因此您不能像访问数组那样通过索引访问它

标签: javascript


【解决方案1】:

您提供的代码使用数组 nums 中的键和 0 的值创建一个对象(散列)。但是,您试图记录对象索引 1 处的值,该值不存在。相反,您应该使用 Object.values(hash)[1] 来获取对象的第二个值。

这是函数的更新版本,它将记录数组中的第二小值:

function getSecondSmallest(nums){
    let hash = {};
    for (let i = 0; i < nums.length; i++){
    let key = nums[i];
    hash[key] = 0;}
    let values = Object.values(hash);
    values.sort((a, b) => a - b);
    console.log(values[1]);
}
getSecondSmallest([2, 3, 6, 6, 5]);

此代码使用数组 nums 中的键和 0 的值创建一个对象,并对值进行排序并记录数组中第二小的值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-27
    • 1970-01-01
    • 2012-03-24
    • 2015-09-12
    • 2013-08-26
    • 2020-06-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多