吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1092|回复: 5
收起左侧

[求助] 给定一个以数字组成的数组,实现输出id为数字,并且从小到大排序的name(请使用es6...

[复制链接]
w460270218 发表于 2022-4-18 15:57
[JavaScript] 纯文本查看 复制代码
JavaScript
// 调用示例
const source = [
    { id: 4, name: 'test1' },
    { id: {}, name: 'ssdf' },
    "test",
    { id: () => {}, name: 'sf' },
    { id: '6', name: 'test3' },
    { id: 6, name: 'test4' },
    { id: 7, name: 'test7' },
    { id: 2, name: 'test2' },
    { name: 'sf' },
    {},
]

function filterSort() {
    // 写下你的代码    
}

filterSort(source)
// 输出结果如下
['test2', 'test1', 'test4', 'test7']

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

ghwanz 发表于 2022-4-18 17:33
[JavaScript] 纯文本查看 复制代码
    function filterSort(arr) {
            // 写下你的代码 
            return arr.filter(item => item.id === +item.id).sort((a,b)=>a.id-b.id).map(item=>item.name);
        }

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
xiaolong23330 + 1 + 1 热心回复!

查看全部评分

快乐小风 发表于 2022-4-18 17:41
本帖最后由 快乐小风 于 2022-4-18 17:46 编辑

[JavaScript] 纯文本查看 复制代码
// 调用示例
const source = [
    { id: 4, name: 'test1' },
    { id: {}, name: 'ssdf' },
    "test",
    { id: () => {}, name: 'sf' },
    { id: '6', name: 'test3' },
    { id: 6, name: 'test4' },
    { id: 7, name: 'test7' },
    { id: 2, name: 'test2' },
    { name: 'sf' },
    {},
]

function filterSort(oriArrData) {
    source.filter(a => {return typeof a == 'object' && a.id != undefined && typeof a.id == 'number';}).sort((a, b) => {return a.id - b.id;}).forEach(cur => { 
        console.log(`按照ID排序后结果:id=${cur.id},name=${cur.name}`);
    });
}
 
filterSort(source)
//输出结果如下
// ['test2', 'test1', 'test4', 'test7']
快乐小风 发表于 2022-4-18 17:53
ghwanz 发表于 2022-4-18 17:33
[mw_shl_code=javascript,true]    function filterSort(arr) {
            // 写下你的代码
          ...

判断数字那里,受教了
 楼主| w460270218 发表于 2022-4-18 22:06
[JavaScript] 纯文本查看 复制代码
function filterSort() {
            // 写下你的代码   思路 先循环判断id是不是数字  是的话加入新数组,再判断id大小排序  最后取值name 
            var arr = [] 
            var arr2 = []
            for (var i of source) {
                if (typeof i.id === 'number') {
                    arr.push(i)
                }
            }
            arr.sort(function (a, b) {
                return a.id - b.id
            })
            for (var j of arr) {
                console.log(j);
                arr2.push(j.name)
            }
            console.log(arr2);
        }

        filterSort(source)
 楼主| w460270218 发表于 2022-4-18 22:29
[JavaScript] 纯文本查看 复制代码
function filterSort() {
            // 写下你的代码   思路 先循环判断id是不是数字  是的话加入新数组,再判断id大小排序  最后取值name 
            console.log(source.filter(item => typeof item.id === 'number').sort(function (a, b) { return a.id - b.id }).map(item => item.name));
        }
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 14:34

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表