Javascript切片数组Find Max

Javascript切片数组Find Max,javascript,Javascript,我想分割一个数组,并返回一个键以推入另一个数组。推一个项目很简单 array2.push(array1[index]['abc']) 我想推一个切片的最大值。这项工作: array2.push(Math.max(array1[index1]['abc'], array1[index2]['abc'], array1[index3]['abc'])) 是否有一种更简洁的方法可以通过切片来格式化此对象?您可以在数组中循环并检索具有属性“abc”(get在数组中的所有连续项)的对象 您可以定义一个

我想分割一个数组,并返回一个键以推入另一个数组。推一个项目很简单

array2.push(array1[index]['abc'])
我想推一个切片的最大值。这项工作:

array2.push(Math.max(array1[index1]['abc'], array1[index2]['abc'], array1[index3]['abc']))

是否有一种更简洁的方法可以通过切片来格式化此对象?

您可以在数组中循环并检索具有属性“abc”(get在数组中的所有连续项)的对象


您可以定义一个
索引
数组(随机数),然后将其映射到各自的对象
'abc'
值。使用映射值数组,可以将其放入
Math.max()
,以查找最大值:

const数组1=[{abc:1},{abc:2},{abc:-1},{abc:0}];
常量索引=[0,2,3];//[index1,index2,index3]在你的情况下
const max=Math.max(…index.map(i=>array1[i]['abc']);

控制台日志(最大值)此问题有两种可能的解决方案:

首先,让我们定义数据

const firstArray=[{abc:1},{abc:5},{abc:3},{abc:11},{abc:2}];
const secondArray=[];
  • 对第一个列表进行排序并获取最后一项(不理想)
  • firstArray.sort((firstElem,secondElem)=>firstElem.abc-secondElem.abc);
    push(firstArray[firstArray.length-1].abc);
    console.log(secondArray)/[11]
    
  • firstArray
    的元素上使用
    Math.Max()
    (首选):
  • secondArray.push(Math.max(…firstArray.map(elem=>elem.abc));
    console.log(secondArray);//[ 11 ]
    
    数组中是否只有3个索引?如果不是,是
    index1
    index3
    连续整数,还是可以跳过一些整数(例如:index1是
    0
    ,但index2跳过1,因为值为
    2
    )?数组的长度约为5000。索引是介于0和5000之间的随机数。如何指定索引?如果我想要索引0到3之类的。设置x=3?参见@Nick Parsons的答案
     array2.push(Math.max(...array1.map(x=>x['abc'])))