给定一个以数字组成的数组,实现输出id为数字,并且从小到大排序的name(请使用es6...
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'] function filterSort(arr) {
// 写下你的代码
return arr.filter(item => item.id === +item.id).sort((a,b)=>a.id-b.id).map(item=>item.name);
} 本帖最后由 快乐小风 于 2022-4-18 17:46 编辑
// 调用示例
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'] ghwanz 发表于 2022-4-18 17:33
function filterSort(arr) {
// 写下你的代码
...
判断数字那里,受教了{:1_893:} 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) 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));
}
页:
[1]