gpt4 book ai didi

javascript - 如何在没有内置函数的情况下反转字符串 javascript ..?

转载 作者:行者123 更新时间:2023-11-30 07:07:13 26 4
gpt4 key购买 nike

我想在没有内置函数的情况下反转字符串,例如 splitreversejoin,我已经尝试了这里的代码 https://stackoverflow.com/a/51751393/8070090,但我不太明白第四行的代码是做什么的,我需要第四行的更多解释。这是我的代码,有一些解释

 function reverseString(str) {
reverseIt = [];
for (i = 0; i < str.length; i++) {
reverseIt = str[i] + reverseIt; // the first way that works
// reverseIt = str[i] + []; // first.. i assume the variable "reverseIt" is equal to "[]", but the result from this line is not equal to the line above
// reverseIt = str[i] + ''; // then i try this way with assume the variable reverseIt is empty string (""), but the result from this line not produce the expected result

// var testing = []; // and then i try to make an empty array variable again
// reverseIt = str[i] + testing; // and try to add the variable above, but this still not realy produce the expected result
/*
So the questions.., why the first way can works..?, what's actualy the code on that line do..?
*/
}
return reverseIt;
}
console.log(reverseString('Javascript'));

最佳答案

字面意思是从第一个字符开始到最后,每一步,在整个创建的字符串之前添加新字符

例如,对于名字 david,它从一个空字符串开始,然后将每个字母推到系列的开头。从零开始,然后是 d,然后在开头添加 a,这将生成 ad,然后添加 v成为 vad,以 divad

结尾

-> 你用这段代码尝试了什么:

reverseIt = str[i] + [];

与原始代码不同。因为 reverseIt[] 仅在开头! (请注意,这里的 [] 等于 '',因为在这方面字符串只是一个字符串数组!所以这包含两种情况。)

一开始确实是[](或者'',这里没区别),但是往下一层,就变成了d!然后新的 str[i]a 然后连接到 reverseIt 现在是 d,然后是结果变成 ad 将被放入 reverseIt!所以在这一步结束时,reverseIt 变量等于 ad,而不是 []!如此继续下去,直到整个字符串被反转。

-> 你用这段代码尝试了什么:

var testing = [];
reverseIt = str[i] + testing;

是不正确的,因为你实际上是在每一步重置你的反向字符串,你没有将新字符串连接到已经创建的字符串,而是你只是将它设置为最新的字符。所以一开始,reverseIt[],然后变成d,然后变成a,再变成 v,依此类推,因为在每一步,它都等于 str[i] + testing,并且因为 testing 始终是 [ ],字面上变成这样:reverseIt = str[i],所以到最后,它只包含字符串的最后一个字符!

关于javascript - 如何在没有内置函数的情况下反转字符串 javascript ..?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52354110/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com