我只是把 Javascipt 作为练习。我只想将字符串中每个空格的索引号插入数组中。但不幸的是,我的数组是空的 - 或者充满了空格,我不确定是哪一个。任何帮助都会被优雅地接受。 :)
function checkText() {
var str1 = document.getElementById("texty").innerHTML;
var dexArray = [];
for (var i = 0; i < str1.length; i++) {
if (str1.indexOf(str1[i]) === " ") {
dexArray.push(str1.indexOf(str1[i]));
}
}
alert(dexArray);
}
<p id="texty">Mary had a little lamb</p>
<button onclick="checkText()">Click</button>
最佳答案
您只需检查位置 i
处的字符,然后将其推送到结果(如果找到)。
function checkText() {
var str1 = document.getElementById("texty").innerHTML;
var dexArray = [];
for (var i = 0; i < str1.length; i++) {
if (str1[i] === " ") {
dexArray.push(i);
}
}
console.log(dexArray);
}
<p id="texty">Mary had a little lamb</p>
<button onclick="checkText()">Click</button>
带有 indexOf
的版本.
function checkText() {
var str1 = document.getElementById("texty").innerHTML,
dexArray = [],
i = str1.indexOf(' ');
while (i !== -1) {
dexArray.push(i);
i = str1.indexOf(' ', i + 1); // change start postion for search
}
console.log(dexArray);
}
<p id="texty">Mary had a little lamb</p>
<button onclick="checkText()">Click</button>
关于javascript - 压入数组中字符的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39996245/