Javascript 如何在键值对数组中查找最大数字
我如何才能得到大小值最大的文件。如果我有这样一个例子Javascript 如何在键值对数组中查找最大数字,javascript,arrays,key-value,Javascript,Arrays,Key Value,我如何才能得到大小值最大的文件。如果我有这样一个例子 let文件=[ { 文件名:“未命名”, 尺码:3456 }, { 文件名:“新文件夹”, 尺码:234 }, { 文件名:“照片”, 尺码:23 }, { 文件名:“ruby文件”, 尺码:30 },您可以使用reduce: let files = [ { fileName: 'untitled', size: 3456 }, { fileName: 'New Folder', size: 234 },
let文件=[
{
文件名:“未命名”,
尺码:3456
},
{
文件名:“新文件夹”,
尺码:234
},
{
文件名:“照片”,
尺码:23
},
{
文件名:“ruby文件”,
尺码:30
},
您可以使用reduce:
let files = [
{
fileName: 'untitled',
size: 3456
},
{
fileName: 'New Folder',
size: 234
},
{
fileName: 'photos',
size: 23
},
{
fileName: 'ruby files',
size: 30
}]
let maxSizedFfile = files.reduce((maxFile, file) => maxFile && maxFile.size > file.size ? maxFile : file, null);
您可以使用reduce:
let files = [
{
fileName: 'untitled',
size: 3456
},
{
fileName: 'New Folder',
size: 234
},
{
fileName: 'photos',
size: 23
},
{
fileName: 'ruby files',
size: 30
}]
let maxSizedFfile = files.reduce((maxFile, file) => maxFile && maxFile.size > file.size ? maxFile : file, null);
此函数将返回文件对象中的最大大小
let文件=[
{
文件名:“未命名”,
尺码:3456
},
{
文件名:“新文件夹”,
尺码:234
},
{
文件名:“照片”,
尺码:23
},
{
文件名:“ruby文件”,
尺码:30
}]
警报(Math.max.apply(Math,files.map(函数(o){return o.size;}));
此函数将返回文件对象中的最大大小
let文件=[
{
文件名:“未命名”,
尺码:3456
},
{
文件名:“新文件夹”,
尺码:234
},
{
文件名:“照片”,
尺码:23
},
{
文件名:“ruby文件”,
尺码:30
}]
警报(Math.max.apply(Math,files.map(函数(o){return o.size;}));
您可以使用for
循环检查大小:
let文件=[{
文件名:“未命名”,
尺码:3456
},{
文件名:“新文件夹”,
尺码:234
},{
fileName:'照片',
尺码:23
},{
文件名:“ruby文件”,
尺码:30
}]
var最大=文件[0]。大小;
var fileName=文件[0]。文件名;
for(设i=1;i最大){
最大=文件[i]。大小;
fileName=文件[i]。文件名;
}
}
console.log(文件名);
您可以使用for
循环检查大小:
let文件=[{
文件名:“未命名”,
尺码:3456
},{
文件名:“新文件夹”,
尺码:234
},{
文件名:“照片”,
尺码:23
},{
文件名:“ruby文件”,
尺码:30
}]
var最大=文件[0]。大小;
var fileName=文件[0]。文件名;
for(设i=1;i最大){
最大=文件[i]。大小;
fileName=文件[i]。文件名;
}
}
console.log(fileName);
更简单的方法是按大小对数组排序并获得第一个,因此您可以执行以下操作:
const文件=[
{
文件名:“未命名”,
尺码:3456
},
{
文件名:“新文件夹”,
尺码:234
},
{
文件名:“照片”,
尺码:23
},
{
文件名:“ruby文件”,
尺码:30
}
]
常量files2=files.sort((a,b)=>a.size console.log(files2[0]);
更简单的方法是按大小对数组排序并获得第一个,因此您可以执行以下操作:
const文件=[
{
文件名:“未命名”,
尺码:3456
},
{
文件名:“新文件夹”,
尺码:234
},
{
文件名:“照片”,
尺码:23
},
{
文件名:“ruby文件”,
尺码:30
}
]
常量files2=files.sort((a,b)=>a.size log(files2[0]);
您可以通过获取较大的对象来减少数组
var files=[{fileName:'untitled',size:3456},{fileName:'newfolder',size:234},{fileName:'photos',size:23},{fileName:'ruby files',size:30}],
max=files.reduce((a,b)=>a.size>b.size?a:b);
console.log(max.fileName);
您可以通过获取较大的对象来减少数组
var files=[{fileName:'untitled',size:3456},{fileName:'newfolder',size:234},{fileName:'photos',size:23},{fileName:'ruby files',size:30}],
max=files.reduce((a,b)=>a.size>b.size?a:b);
console.log(max.fileName);
如果有多个max,会发生什么情况?应该只有一个max。您的数据有语法错误。您到目前为止尝试过什么?如果有多个max,会发生什么情况?应该只有一个max。您的数据有语法错误。您到目前为止尝试过什么?