如果我有这样的对象:
const foo = {
title: 'Bar',
numbers: [1, 4, 3, 2],
}
我想对foo.numbers
进行排序并返回新的foo对象。
要轻松排序数组foo.numbers.sort((a, b) => b - a)
但这只返回数组。
无论如何都要返回父对象吗?
例如:
const newFoo = sortFooNumbers(foo);
console.log(newFoo);
---
{
title: 'Bar',
numbers: [1, 2, 3, 4],
}
答案 0 :(得分:2)
const foo = {
title: 'Bar',
numbers: [1, 4, 3, 2],
}
function sortfoo(obj){
obj.numbers.sort((a, b) => b - a)
return obj
}
sortfoo(foo)
答案 1 :(得分:1)
public ActionResult Result(string Person)
{
Hierarchy h = db.Hierarchies.First(i => i.People == Person);
if (h == null)
{
return HttpNotFound();
}
int lvl = h.Level;
var list = new string[lvl];
list = h.Hierarchy1.Split('/');
IQueryable<Hierarchy> TQuery = from a in db.Hierarchies
where list.Contains(a.People)
select a;
return View("Result", TQuery.ToList());
}
现在,您已使用已排序的数组更新了foo.numbers = foo.numbers.sort((a, b) => b - a)
。我假设这是你想要的。
答案 2 :(得分:0)
然后你可能也需要克隆这个对象:
const foo = {
title: 'Bar',
numbers: [1, 4, 3, 2],
};
function sortFoo(foo){
const cloned = JSON.parse(JSON.stringify(foo));
cloned.numbers.sort((a,b)=>a-b);
return cloned;
}
const newFoo = sortFoo(foo);