作为练习,我正在尝试创建一个函数,该函数返回由三位数乘以得到的回文数。据我所知,该函数正确运行数字,但结果数组不正确。我不需要解决回文问题...只是想知道我可能会缺少什么。我遇到了一些限制吗?
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;
};
答案 0 :(得分: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());