Javascript 无法将值推送到列表中
我无法使用Javascript 无法将值推送到列表中,javascript,Javascript,我无法使用.push()将任何元素推入数组。这里的代码是我的尝试: text = "fihdfhdkfhkdsfkjd"; var myName = "Anthony Pham"; var hits = []; for(var i = 0; i < text.length; i+++) { if (text[i] === myName[i]) { for(var j = i; j <= (myName.length + i); j++) {
.push()
将任何元素推入数组。这里的代码是我的尝试:
text = "fihdfhdkfhkdsfkjd";
var myName = "Anthony Pham";
var hits = [];
for(var i = 0; i < text.length; i+++) {
if (text[i] === myName[i]) {
for(var j = i; j <= (myName.length + i); j++) {
hits.push(text[j]);
}
}
}
text=“fihdfhdkfhkdsfkjd”;
var myName=“Anthony Pham”;
var命中率=[];
对于(变量i=0;i
for(var i = 0; i < text.length; i++) {
if (text[i] === myName[i]) {
for(var j = i; j <= (myName.length + i); j++) {
hits.push(text[j]);
}
}
}
for(变量i=0;i
此外,您从不检查myName的边界,并且在引用的两个位置都读取到末尾。除了i++
中的额外+之外,您还有一个逻辑问题。text[i]==myName[i]
唯一的时间是当i
等于9(Pham中的h)时。
for (var j = i; j <= (myName.length + i); j++) {
// j = i = 9
// j <= 12 + 9 = 21
hits.push(text[j]);
// hits = [h, a, m, undefined, undefined, undefined, ... , undefined ]
}
for(var j=i;j使用charAt()
是什么意思?从字符串中选择字符时,方括号表示法不是通用的标准。它不是text[i]==myName[i],而是text.charAt(i)==myName.charAt(i)