【问题标题】:Add an Identifier to an object array that doesn't have one using JavaScript [duplicate]使用 JavaScript 向没有标识符的对象数组添加标识符 [重复]
【发布时间】:2021-12-02 00:38:46
【问题描述】:

我是 StackOverflow 的新手,所以对于无法按结构输入所有内容,我提前道歉。

一段时间以来,我一直在尝试向我的数组添加一个标识符,以使用 javascript 的 .sort() 函数使数组内容按字母顺序排列。同样重要的是不要将数量与数组中的名称分离。

当我使用console.log(result); 时,我的数组包含以下内容:

['0.4712', 'ARECIBO']
['0.5041', 'CAGUAS']
['0.4121', 'HUMACAO']
['0.4578', 'MAYAGUEZ']
['0.4785', 'PONCE']
['0.4038', 'SAN JUAN']
['0.4318', 'BAYAMON']

我已经阅读了很多帖子,也看到很多用户发布了这种类型的解决方案......

result.sort(function(a, b) {
            return b[1] - a[0];
        });
        console.log(result);

很遗憾,它对我不起作用。我坚信,不仅我缺乏知识是一个阻碍因素,而且我的数组中也缺乏标识符。因此,我恳请您的知识来解决这个问题。如果您能简要说明该解决方案的工作原理,我将不胜感激,因为它可以帮助我成长并了解我在做什么。

谢谢大家!

【问题讨论】:

  • 感谢回答我问题的用户。再说一次,我是这个网站的新手,所以我不知道如何标记你,仍然,谢谢你。另外,我将如何使用现在组织的数值创建一个新数组?

标签: javascript


【解决方案1】:

var a = [
  ['0.4712', 'ARECIBO'],
  ['0.5041', 'CAGUAS'],
  ['0.4121', 'HUMACAO'],
  ['0.4578', 'MAYAGUEZ'],
  ['0.4785', 'PONCE'],
  ['0.4038', 'SAN JUAN'],
  ['0.4318', 'BAYAMON']
]
var result = a.sort(function(a, b) {
  return a[1].localeCompare(b[1]); //compare 2 strings alphbetically
});
console.log(result);

【讨论】:

  • 比较值,如果需要的话:result = arr.sort((a, b) => parseFloat(b[0]) - parseFloat(a[0]));
  • 非常感谢您的回答!
  • @IgorZ 谢谢你的回答!我还有一个问题,我将如何只使用现在组织的数值创建一个新数组?
  • @AdnelFigueroa 简单:使用map 函数:result = arr.sort((a, b) => parseFloat(b[0]) - parseFloat(a[0])); digits = result.map(k => k[0])
  • @IgorZ 工作就像一个魅力!谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-08-18
  • 1970-01-01
  • 1970-01-01
  • 2021-12-27
  • 1970-01-01
  • 2019-03-26
  • 2016-12-27
相关资源
最近更新 更多