Javascript js多字符串
我试图理解以下代码:Javascript js多字符串,javascript,Javascript,我试图理解以下代码: var text = "Hi, my name is Tyler. How are you?"; var myName = "Tyler"; var hits = []; for (i = 0; i<= text.length; i++) { if (text[i] === "T") { for (j = i; j = (i + myName.length); j++) { hits.push(i); } } } 文本[i]实际上
var text = "Hi, my name is Tyler. How are you?";
var myName = "Tyler";
var hits = [];
for (i = 0; i<= text.length; i++) {
if (text[i] === "T") {
for (j = i; j = (i + myName.length); j++) {
hits.push(i);
}
}
}
文本[i]实际上是什么意思?对我来说,它似乎是在文本数组中查找i元素。我不明白这有两个原因。第一个是i元素没有被定义为任何东西。是不是说搜索文本数组中的每个元素,直到它匹配我名字的第一个字母T?第二,为什么它只是一个字符串,却将文本表示为一个数组?文本后面的[]括号不意味着它将文本作为数组引用吗
如果这个问题没有真正意义,我很抱歉,但我只是被这一切弄糊涂了!提前感谢任何能为我回答这个问题的人
文本[i]实际上是什么意思
从文本中获取属性i
在文本数组中查找i元素
文本是字符串,而不是数组
第一个是i元素没有被定义为任何东西
i在前一行中定义:
JavaScript字符串和数组有一个共同点:它们都是可编辑的,这意味着我们可以一次检查一个元素。我们使用下标[index]引用该元素,其中index是一个范围为0到长度-1的数字
var myArray = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ];
console.log(myArray.length); // 10
console.log(myArray[myArray.length]); // undefined
console.log(myArray[myArray.length-1]); // 9
var myString = "0123456789";
console.log(myString.length); // 10
console.log(myString[myString.length]); // undefined
console.log(myString[myString.length -1]); // 9
我们发现两者都有一个共同的索引特征:
它们都是零索引的。
它们都使用索引下标。
它们都是可移植的,我们可以通过元素循环。
为了显示差异,我们需要尝试分配任务
myArray[myArray.length] = 10;
console.log(myArray[myArray.length-1]); // 10
myString[myString.length] = "A";
console.log(myString[myString.length-1]); // undefined
进一步说明,
myArray[5] = 55;
console.log(myArray[5]); // 55
myString[5] = "f";
console.log(myString[5]); // 5
这表明,虽然我们可以通过引用数组元素的索引将值或对象分配给数组元素,但我们不能使用字符串。描述这一点的术语是可变性。数组是可变的,我们可以更改它的元素。字符串是不可变的,我们不能更改它的字符
所以我们现在知道了文本[i]是什么。索引i处字符串文本中的一个字符,其中i从零开始,该索引表示字符串的开头。JavaScript字符串和数组有一个共同点: 他们俩都很难相处 范例 排列 串
var myString = "0123456789";
console.log(myString.length); // 10
console.log(myString[myString.length]); // undefined
console.log(myString[myString.length -1]); // 9
myArray[5] = 55;
console.log(myArray[5]); // 55
myString[5] = "f";
console.log(myString[5]); // 5
var myArray = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ];
console.log(myArray.length); // 10
console.log(myArray[myArray.length]); // undefined
console.log(myArray[myArray.length-1]); // 9
var myString = "0123456789";
console.log(myString.length); // 10
console.log(myString[myString.length]); // undefined
console.log(myString[myString.length -1]); // 9