首页 > 解决方案 > 我的功能没有返回我想要的产品,为什么?

问题描述

我试图返回一个数字的每两个数字的乘积,例如我们有数字 123,我试图有 1*2,然后是 2*3。以最大者为准,应添加到最终的'产品中;多变的。

const findLargestProduct = array => {

    let i=0, j=1, product = 0;

    while (j < array.length) {

        let result = array[i] * array[j];

        if (result > product) {
            product = result;

        }
        i++
        j++

    } return product;

}

console.log(findLargestProduct(589))

此代码的结果应为 72 (8*9=72)

标签: javascriptarraysproduct

解决方案


因为您输入的 589 是一个数字,所以array.lengthundefined没有进入 while 循环。

您可以将其从 589 更改为“589”。

const findLargestProduct = array => {

    let i=0, j=1, product = 0;
    console.log(array.length);
    while (j < array.length) {

        let result = array[i] * array[j];
        

        if (result > product) {
            product = result;

        }
        i++
        j++

    } return product;

}

console.log(findLargestProduct('589'))


推荐阅读