【发布时间】:2021-03-29 18:54:29
【问题描述】:
let a = [101, 103, 222, 97, 105];
var i = 0;
a.forEach(function(v){
v == 97 || v == 101 || v == 105 || v==111 || v ==117 ? a[i++] = String .fromCharCode(v) : a[i++] = v;}),a;
console.log(a);
结果:['e', 103, 222, 'a', 'i']
我明白我们正在遍历数组并寻找任何匹配的值,我知道其余代码的作用,但我不明白 ? 之后的部分。
【问题讨论】:
-
它正在检查数组中的每个索引,并将当前索引替换为给定的 ascii 字符值,然后递增索引。示例:索引 = 0;并且 v == 101 为真,因此,a[index] = char(101),即 'e',然后故意增加索引,因此现在 index = 1,但 foreach 循环将内部增加索引,因此留下 a[1]照原样,现在 index = 2. 依此类推
-
三元运算符的true部分是存储当前索引对应的字符的值,而false部分只是存储数字。
-
知道了。谢谢!
标签: javascript arrays foreach