1

作为练习,我正在尝试创建一个函数,该函数返回由三位数相乘得到的回文数。据我所知,该函数正确地通过数字运行,但是,结果数组不正确。我不需要回文问题的解决方案……只是想知道我可能缺少什么。我遇到了一些限制吗?

var palindromic = function() {
var a = [];
var res = [];
for (var i = 100; i < 1000; i++) {
    a.push(i);
}
var ar = a.slice(0);
a.map(function(x) {
    for (var j = 0; j < ar.length; j++) {
        var result = x * ar[j];
        if (result.toString() ===   result.toString().split("").reverse().join("")) {
            res.push(result);
        }
    }
  })
return res;
};
4

1 回答 1

1

很确定它只是试图调用 console.log() 810,000 次。如果您评论 console.log 行,它工作得很好。

var palindromic = function() {
var a = [];
var res = [];
for (var i = 100; i < 1000; i++) {
    a.push(i);
}
var ar = a.slice(0);
a.map(function(x) {
    for (var j = 0; j < ar.length; j++) {
        var result = x * ar[j];
        //console.log(x + " : " + ar[j] + ' = ' + result);
        if (result.toString() ===   result.toString().split("").reverse().join("")) {
            res.push(result);
        }
    }
});
return res;
};

console.log(palindromic());
于 2013-10-24T21:56:54.520 回答