In JavaScript programming, we usually need to perform various operations on arrays. Among them, a common question is how to find the cardinal sum of an array. The radix sum is the sum of all odd values in the array. In this article, we will learn how to solve the radix sum of an array using JavaScript and provide a few different ways to solve it.
Method 1: Traverse the array and accumulate one by one
This method is very simple. We only need to use a for loop to traverse the entire array. If the current element is found to be an odd number, add it to the base. and in the accumulator. The following is the code to implement this method:
function oddSum(arr) { let sum = 0; // 定义累加器,初始值为0 for (let i = 0; i < arr.length; i++) { if (arr[i] % 2 !== 0) { // 如果当前值是奇数 sum += arr[i]; // 将其加入累加器中 } } return sum; // 返回基数和 }
The advantage of this method is that it is simple, direct, and easy to understand. However, its efficiency is not high, especially when the array is relatively large, there will be performance problems.
Method 2: Use Array.prototype.reduce()
There is a built-in advanced function Array.prototype.reduce() in JavaScript, which can accumulate each element of the array in a function element, ultimately returning a value. We can use it to solve for base sums. The following is the code implemented using the reduce method:
function oddSum(arr) { return arr.reduce((sum, cur) => { if (cur % 2 !== 0) { return sum + cur; } else { return sum; } }, 0); }
The principle of this function is the same as method 1. The difference is that the built-in array iteration function is used to make the code more concise and readable. At the same time, this method is more efficient than method 1 because it takes advantage of JavaScript's built-in optimization algorithm.
Method 3: Use Array.prototype.filter() and Array.prototype.reduce()
Another method is to first use Array.prototype.filter() to select all the elements in the array Odd numbers, then use Array.prototype.reduce() to sum these elements. The following is the code to implement this method:
function oddSum(arr) { const oddArr = arr.filter(num => num % 2 !== 0); // 选择出所有的奇数 const sum = oddArr.reduce((sum, cur) => sum + cur, 0); // 将这些元素求和 return sum; // 返回基数和 }
This method may be slightly slower than method two because it requires two loops. However, this approach is very readable and easy to understand. Again, it uses optimization algorithms built into JavaScript, so its performance is still very high.
Summary
In this article, we introduced three methods to solve the radix sum of JavaScript arrays. All three methods are valid, but they each have their own pros and cons. We recommend choosing the method that best suits you based on your actual situation. After selecting the method, we can use some tools to test the performance of the code, such as the console.time() and console.timeEnd() functions, in order to know their execution time.
In short, we hope readers can understand how to use JavaScript to solve the radix sum of an array and master some common techniques. Using these tips, you can easily handle various array operations and improve your programming skills.
The above is the detailed content of Find the cardinality sum of an array using JavaScript. For more information, please follow other related articles on the PHP Chinese website!