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'])))