【发布时间】:2022-10-13 17:47:19
【问题描述】:
我写了一个程序:
- 打印所有元素(或整数)的总和
-
打印新的元素数组
代码应该做什么:
该程序应给出总和四个最大的元素(或整数).实际上,我做对了,但是,小问题是,我想保留所有重复项(仍在四大元素)。这就是我的意思:
取一组数字: [4,5,-2,3,1,2,6,6]
最大的四个数字是:4,5,6,6.他们的总和是4+5+6+6=21
代码在做什么(不好):
而不是得到“6,6,5,4”如(如上所述),代码正在打印“6,5,4,3”总和为18.
还,当只有四个元素[有或没有重复项]时,如[1,1,1,-5], 让它添加所有元素。你猜对了,所有元素的总和是-2
如何命令程序打印必要的重复项以生成四个最大整数?
这是我的代码...
//var arr = Array(4, 5, -2, 3, 1, 2, 6, 6); var arr = Array(1, 1, 1, -5); var largArr = new Array(); function largest() { largArr = Array(0, 0, 0, 0); largArr = Array(0, 0, 0, 0) for (i = 0; i < arr.length; i++) { if (arr[i] > largArr[0]) { largArr[0] = arr[i]; } } for (i = 0; i < arr.length; i++) { for (i = 0; i < arr.length; i++) { if (arr[i] > largArr[1] && arr[i] < largArr[0]) { largArr[1] = arr[i]; } } if (arr[i] > largArr[0]) { for (i = 0; i < arr.length; i++) { if (arr[i] > largArr[2] && arr[i] < largArr[1]) { largArr[2] = arr[i]; } } largArr[0] = arr[i]; for (i = 0; i < arr.length; i++) { if (arr[i] > largArr[3] && arr[i] < largArr[2]) { largArr[3] = arr[i]; } } } console.log(largArr[0] + largArr[1] + largArr[2] + largArr[3]); console.log(largArr[0], largArr[1], largArr[2], largArr[3]); largest();我相信那里有一个天才可以帮助我解决这个问题:)
【问题讨论】:
标签: javascript arrays integer