pal*_*nic 0 javascript arrays sorting object filter
假设我有一个像这样的对象数组
const arr = [
{name: 'John', age: 15},
{name: 'Max', age: 17},
{name: 'Tom', age: 11},
]
Run Code Online (Sandbox Code Playgroud)
我怎样才能只获取包含 Max, 17 的对象?这将是结果
b = [{ name: Max, age: 17 }]
Run Code Online (Sandbox Code Playgroud)
或更好
c = { name: Max, age: 17 }
Run Code Online (Sandbox Code Playgroud)
将数组减少到具有最高值的对象age:
const arr = [{"name":"John","age":15},{"name":"Max","age":17},{"name":"Tom","age":11}]
const result = arr.reduce((acc, o) => !acc || o.age > acc.age ? o : acc, null)
console.log(result)Run Code Online (Sandbox Code Playgroud)
我使用null的默认值来Array.reduce()防止数组为空时出现错误。但是,您也可以事先检查空数组:
const findMaxAge = arr => arr.length
? arr.reduce((acc, o) => o.age > acc.age ? o : acc)
: null
const arr = [{"name":"John","age":15},{"name":"Max","age":17},{"name":"Tom","age":11}]
console.log(findMaxAge(arr))
console.log(findMaxAge([]))Run Code Online (Sandbox Code Playgroud)