【发布时间】:2018-11-15 05:37:25
【问题描述】:
我有以下代码
Object.entries(obj)
.map((arr) => {
if (columnArray.indexOf(arr[0].toLowerCase()) > -1) {
return { value: arr[1], name: arr[0] };
}
})
.sort(function(a, b) {
return columnArray.indexOf(a.name.toLowerCase()) - columnArray.indexOf(b.name.toLowerCase());
})
使用地图排序工作正常,但是当我修改如下代码时
Object.entries(obj).filter((arr)=>columnArray.indexOf(arr[0].toLowerCase()) > -1)
.forEach((arr) => {
console.log('array value-->',arr);
return { value: arr[1], name: arr[0] };
})
.sort(function(a, b) {
return columnArray.indexOf(a.name.toLowerCase()) - columnArray.indexOf(b.name.toLowerCase());
})
我收到一个错误,比如“排序未定义”,有人可以帮我看看吗。
【问题讨论】:
-
forEach()不返回.... -
.forEach不返回任何内容。.map返回新数组。两者不可互换。
标签: javascript sorting filter foreach