javascript - 从对象数组中提取数据并按字母顺序排序(同时)

标签 javascript jquery arrays object

我有一个对象数组:

var object = [
    {
        "id": 1,
        "name": "Vehicles"
    },
    ...

我想从每个对象中提取“名称”并将其排序在“名称”数组中,然后显示每个“名称”。

我是这样做的:

  • 我遍历每个对象并获取“名称”并将其放入一个数组中。
  • 然后,我遍历数组并将每个“名称”显示到我要查找的位置 想要。

JSFIDDLE DEMO

有没有办法同时做这两个 Action ?

最佳答案

由于您已经对值进行了排序和附加,问题是如何摆脱其中一个循环,而不是重复两次。

可以映射和排序,只需加入数组即可摆脱最后一个循环并一次性追加所有内容

$(document).ready(function() {
    $('.lol').append(object.map(x => x.name).sort().join('<br />'));
});

var object = [{
    "id": 1,
    "name": "Vehicles"
}, {
    "id": 2,
    "name": "Mobiles & Tablets"
}, {
    "id": 3,
    "name": "Electronics & Appliances"
}, {
    "id": 4,
    "name": "Real Estate"
}, {
    "id": 5,
    "name": "Home & Lifestyle"
}, {
    "id": 6,
    "name": "Jobs"
}, {
    "id": 7,
    "name": "Services"
}, {
    "id": 8,
    "name": "Education & Training"
}, {
    "id": 9,
    "name": "Entertainment"
}, {
    "id": 10,
    "name": "Pet & Pet Care"
}, {
    "id": 11,
    "name": "Community"
}, {
    "id": 12,
    "name": "Events"
}, {
    "id": 13,
    "name": "Matrimonial"
}];
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p class="lol"></p>

关于javascript - 从对象数组中提取数据并按字母顺序排序(同时),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40510096/

相关文章:

javascript - 客户端 HTML 清理有多安全?

java - 如何从数组中选择最大值?

javascript - 这是什么? "Hidden values"?

javascript - 如何从字符串数组中收集所有可能的连续字符串连接?

javascript - Express.js 路由器需要直接还是在变量中?

javascript - webkitAnimation End 是如何工作的?

javascript - 按多个前缀对数组进行排序

java - 当我使用 jquery 在 jqgrid 中执行操作时,有几个调用

javascript - 如何使用 jQuery 更改 html 元素的拆分符号

php - 使用 PHP 或查询选择字符串/mysql 结果的中间部分