算法思考:求数组中相反数的量
判断一个只存在整型数的数组中有多少对相反数
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>求数组中相反数的量</title>
<script>
var arr = [8,9,4,3,-2,5,-8,7,-4];
function countOpposite(arr){
// 相反数对数计数器
var count = 0;
var newArr = [];
arr.forEach(function(item,index,arr){
if(item < 0){
// 存入负数的绝对值(不考虑0,以负数为根据判断相反数的量)
newArr.push(Math.abs(item));
}
});
console.log(newArr); // Array(3) [ 2, 8, 4 ]
arr.forEach(function(item,index,arr){
// 当原数组中存在与其中负数绝对值相同的项时
if(newArr.includes(item)){
console.log(item); // 8 4
// 计数器自增
count++;
}
});
// 返回计数结果
return count;
}
var result = countOpposite(arr);
console.log(result); // 2
</script>
</head>
<body>
</body>
</html>

浙公网安备 33010602011771号