【发布时间】:2015-12-03 12:34:57
【问题描述】:
我想从一个字符串中选择其索引对应于 1 到 100 之间的素数的字符并将它们返回到一个数组中。例如,如果我的输入是“abcdefghijklm”,则函数应该返回 ["c", "d", "f", "h", "l", "n"] 因为 "c" 对应于索引 2 (2 =素数),“d”对应于索引3(3 =素数)等
这是我的代码:
function primeChars (string) {
if (string.length <= 1) {
return "empty string";
}
var primeIdx = [];
var res = [];
for (var val = 0; val <= 100; val++) {
var notPrime = false;
for (var i = 2; i <= val; i++) {
if (val%i===0 && i!==val) {
notPrime = true;
}
}
if (notPrime === false) {
primeIdx.push(val);
}
}
for (var i = 0; i < primeIdx.length; i++) {
for (var j = 0; j <string.length; j++) {
if (i === j) {
return res.push(string[j]);
}
}
}
}
【问题讨论】:
-
您忘记解释问题所在和/或提出问题。你只说了你的最终目标是什么。
-
抱歉,问题很简单,就是我的代码没有按照我的预期工作。它只返回一个数字而不是一个字符数组。我只是想知道为什么......
标签: javascript arrays string