JavaScript 如何对累加器和对象的每个键应用函数

JavaScript 如何对累加器和对象的每个键应用函数

在本文中,我们将看到如何在JavaScript中对累加器和对象的每个键应用函数。累加器可以是函数、对象、数组等。在本文中,我们使用累加器和对象的键来应用函数。

方法: 在我们的方法中,我们使用reduce函数。首先,我们从对象中获取键并创建一个函数。获取键之后,我们使用reduce函数将函数应用于一组键和累加器。在reduce方法中,我们将累加器和键作为回调函数的参数,这个回调函数就是我们的函数。

语法:

Collection.reduce((accumulator, key)=>
function(accumulator,key), InitialValue);
JavaScript

示例1:

Javascript

<script>
    function ApplyingFn() {
 
        // Function that apply against accumulator
        function function(robj, key) {
 
            // Limits for salary for persons
            var l1 = 'Below 30000';
            var l2 = 'Below 40000';
            var l3 = 'Below 50000';
            var l4 = 'Above 50000';
 
            // Checking salary of persons
            if (m[key] < 30000) {
 
                // Creating group for same
                // salary below Limits
                robj[l1].push(key);
            }
            if (m[key] < 40000) {
 
                // Creating group for same
                // salary below Limits
                robj[l2].push(key)
            }
            if (m[key] < 50000) {
 
                // Creating group for same
                // salary below Limits
                robj[l3].push(key)
            }
            else {
 
                // Creating group for same
                // salary below Limits
                robj[l4].push(key)
            }
            return robj;
        }
 
        // object for the salary
        var k = {
            'Below 30000': [], 'Below 40000': [],
            'Below 50000': [], 'Above 50000': []
        };
 
        var m = {
            'Rahul': 15000, 'Shyam': 220000,
            'David': 420000, 'Sam': 35000, 'Ram': 450000
        };
 
        // Apply Function against accumulator
        // and key of object
        var l = Object.keys(m).reduce((accumulator, 
            key) => function(accumulator, key), k);
        console.log(l);
    }
    ApplyingFn();
</script>
JavaScript

输出结果:

{'Below 30000': ['Rahul'],

'Below 40000': ['Rahul', 'Sam'],

'Below 50000': ['Rahul', 'Sam'],

'Above 50000': ['Shyam', 'David','Ram']}
JavaScript

示例2:

Javascript

<script>
    function ApplyingFn() {
 
        // Function which is applied 
        // against accumulator
        function function(robj, value, key) {
 
            // Checking key is first or not
            if (robj[value] == undefined) {
 
                // Creating group for same key
                robj[value] = [];
                robj[value].push(key);
            }
 
            // If key is already taken
            else {
 
                // Inserting value in group
                robj[value].push(key)
            }
 
            return robj;
 
        }
        var m = {
            'Ms.Dhoni': 'Cricket', 
            'Sunil Chhetri': 'Football',
            'Rishabh Pant': 'Cricket', 
            'K.L Rahul': 'Cricket',
            'Ishan Pandita': 'Football',
        };
 
        // Apply Function against accumulator
        // and key of object
        var l = Object.keys(m).reduce((accumulator,
            key) => function(accumulator, m[key], key), {});
        console.log(l);
    }
    ApplyingFn();
</script>
JavaScript

输出:

{'Cricket': ['Ms.Dhoni', 'Rishabh Pant', 'K.L Rahul'],
'Football': ['Sunil Chhetri', 'Ishan Pandita']}
JavaScript

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册