首页 > 解决方案 > 需要帮助更正并将两个功能合二为一

问题描述

问题是

创建一个名为 divisibles() 的函数,它将获取上层中的每个对象并找到下层中所有均匀划分的对象,忽略零。该函数应返回一个上层对象,但每个对象都有一个名为 found 的附加键,该键的值是一个数组,其中包含从下层平均划分的每个项目。将函数的结果输出到控制台。

到目前为止,这是我的代码,我知道我做错了什么并且无法弄清楚。我有两个功能,不知道如何使它成为一个,而且我的输出看起来也不正确。

 function divisibles(number, myArrayLower) {
    let divisibleArray = [];
    let count = 0;
    for (let i = 0; i < myArrayLower.length; i++) {
        if (number % myArrayLower[i].value === 0) {
            divisibleArray[count++] = {name: myArrayLower[i].name, value: myArrayLower[i].value};
        }

    }

    return divisibleArray;

}

function findDivisibles(myArrayUpper, myArrayLower) {
    let divisiblesArray = [];
    for (let i = 0; i < myArrayUpper.length; i++) {
        let divisibleArray = divisibles(myArrayUpper[i].value, myArrayLower);
        divisiblesArray[i] = {
            name: myArrayUpper[i].name, value: myArrayUpper[i].value,
            found: divisibleArray
        };

    }
    return divisiblesArray;
}

这是调用函数

let resultArray = findDivisibles(myArrayUpper, myArrayLower);

这是我的 console.log

    let resultArray = findDivisibles(myArrayUpper, myArrayLower);
for (let i = 0; i < resultArray.length; i++) {
console.log("Name: " + resultArray[i].name + " Value: " + resultArray[i].value + " Found: ");
let tmpArray = resultArray[i].found;
for (let k = 0; k < tmpArray.length; k++) {
    console.log("        Name: " + tmpArray[k].name + " Value: " + tmpArray[k].value);
}

}

所需的输出看起来像这样

{
     name: ”Nathan15”,
     value: 15,
     found:[
     { name: “nathan3”, value: 3},
     { name: “nathan15”, value: 15} ]
}

这是我的输出

My output looks like this

Name: Nathan586 Value: 2930 Found: 
Name: Nathan587 Value: 2935 Found: 
Name: Nathan588 Value: 2940 Found: 
    Name: nathan1 Value: 3
    Name: nathan2 Value: 6
    Name: nathan4 Value: 12

如果有帮助,我可以添加问题的其余部分,我为这个问题的前面部分编写的代码

标签: javascript

解决方案


推荐阅读