Count数组中两个元素小于或等于一个求和值的次数
Count number of times two elements in array are less than or equal to a sum value - Javascript
我有这个JS函数,它找到两个元素等于一个和值的次数。我试图修改这一点,使条件不仅是当两个元素等于sum,而且当它小于sum值
var array = [-10, -8, -1, 0, 1, 6, 10];
var sum = 16;
function findLessThanOrEqualSum(array, sum){
var count = 0;
var map = {};
for(var i = 0; i<array.length; i++){
var temp = sum - array[i]; //This right here only accounts for when two elements = sum
if(temp >= 0 && map[temp]){
console.log(sum + " " + array[i] + " " + temp);
count++;
}
map[array[i]] = true;
}
console.log(count);
}
findLessThanOrEqualSum(array, sum);
我如何改变这个条件var temp = sum - array[i];
,使它说明temp
是<=
sum - array[i];
的实例?
我已经尝试分配第二个temp
变量,该变量将保存temp <= sum - array[i];
时的所有值,但我没有成功。
你做得很复杂。只需使用嵌套循环来添加两个数组元素,并测试它们是否小于和。
var array = [-10, -8, -1, 0, 1, 6, 10, 11, 8, 9];
var sum = 16;
function findLessThanOrEqualSum(array, sum) {
var count = 0;
for (var i = 0; i < array.length - 1; i++) {
for (var j = i + 1; j < array.length; j++) {
if (array[i] + array[j] < sum) {
console.log(sum + " " + array[i] + " " + array[j]);
count++;
}
}
}
console.log(count);
}
findLessThanOrEqualSum(array, sum);
你这样做的方式适用于相等条件,因为你可以在map
中查找特定的键。但是当你有一个比较条件时,没有什么特别的东西要找
相关文章:
- 缩放仅适用于一个图元
- onclick适用于一个按钮,但不适用于'不要为别人工作
- 响应于一个“;输入“;在<输入>领域
- JavaScript-getElementsByClassName适用于一个函数,但不适用于另一个函数
- 谷歌地点/几何库仅适用于一个国家
- 调整大小功能仅适用于一个维度
- jQuery 更改函数适用于一个页面,但不适用于另一个页面
- 使用 JavaScript 触发 CSS 动画淡入和淡出 - 仅适用于一个方向
- document.getElementById 适用于一个表单元素,但不适用于另一个表单元素
- 多个图表的Highchart背景颜色仅适用于一个图表
- 在单个页面上使用此.js 2 次时,它仅适用于一个实例
- 离子事件侦听器在每个屏幕上触发,只想应用于一个控制器
- 拖放区.js + Laravel-多文件上传不起作用(仅适用于一个文件)
- Node.js http 请求不仅适用于一个网站
- 将鼠标悬停在图像上以显示文本框,使用 JavaScript 仅适用于一个图像,因为我使用的是 getElementByI
- target_blank适用于两个javascript函数,即使它适用于一个javascript函数
- js代码适用于一个变量(?),如何使其适用于多个变量
- Javascript函数只适用于一个变量
- JS函数只适用于一个(第一个)元素
- jQuery只应用于一个元素