gpt4 book ai didi

javascript - 查找数组中大于右侧所有元素的整数

转载 作者:行者123 更新时间:2023-12-01 01:16:27 26 4
gpt4 key购买 nike

我需要编写一个JS函数来查找所有顶部整数,顶部整数是一个比其右侧所有元素都大的整数。这就是我已经走了多远:

jsBin

function testArray(array) {
var copy = [...array],
result = [],
number = [];
copy.forEach(function(el, i, ar) {
let sliced = array.slice(i);
console.log(sliced);
// number.push(sliced[0]);
number = [sliced[0]];
console.log(number);
for (let y = i; y <= sliced.length - 1; y++) {
// console.log(sliced,'sliced array')
console.log(sliced[y], 'for-loop currentValue')

// let newArray = sliced.filter(function(el,i,ar){
// return el < sliced[0];
// console.log(sliced[0]);
// console.log(el);
// console.log(ar);
// if (sliced[0] > el) {
// numbers.push(sliced[0]);
// }
// });
}
})
// console.log(newArray);
}

var arr1 = [1, 4, 3, 2]; //--> 4,3,2
var arr2 = [14, 24, 3, 19, 15, 17]; //--> 24,19,17
var arr3 = [41, 41, 34, 20]; //--> 41,34,24
var arr4 = [27, 19, 42, 2, 13, 45, 48]; //--> 48

最佳答案

您可以使用 slice()Math.max() 来完成此操作。如果17arr2中的顶部整数。那么 48 也应该位于 arr4 的顶部。我的函数返回数组。您可以打印所有数组。

var arr1 = [1,4,3,2];                   //--> 4,3,2
var arr2 = [14, 24, 3, 19, 15, 17]; //--> 24,19,17
var arr3 = [41, 41, 34, 20]; //--> 41,34,24
var arr4 = [27, 19, 42, 2, 13, 45, 48];
function topInts(arr){
const tops = [];
arr.forEach((item,i) => {
if(Math.max(...arr.slice(i)) === item) tops.push(item);
})
console.log([...new Set(tops)]);
}
topInts(arr1); // [4,3,2]
topInts(arr2); // [24,19,17]
topInts(arr3); // [41,34,24]
topInts(arr4); // [48]

关于javascript - 查找数组中大于右侧所有元素的整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54723725/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com