首页 > 解决方案 > JavaScript:使用 array.join() 函数时缺少数组的第一个字符

问题描述

我正在尝试运行此代码:

var elements_var = "Csus2 FM Dm CM";
var elements = ["Csus2","FM","Dm","CM"];

var note_var = (elements.join('\xa0'));

console.log("elements.join output:")
console.log(note_var);

console.log("Regular string output:")
console.log(elements_var);
note_2 = note_var;


const chordsClip = scribble.clip({
    // Use chord names directly in the notes array
    // M stands for Major, m stands for minor

    notes: note_var,
    pattern: 'x---'.repeat(4)
});

这是控制台输出:

控制台输出

正如您所看到的,当控制台在常规字符串(elements_var)和 elements.join 输出(note_var)中正确显示“Csus2 FM Dm Cm”时,note_var 在将其传递给另一个函数时似乎缺少它的第一个字符。

当插入elements_var而不是note_var时,函数可以完美运行。发生了什么?我该如何解决这个问题?

标签: javascript

解决方案


使用\u0020而不是\xa0解决了这个问题。

但是仍然不知道为什么在使用 \u0020 时会发生这种情况,因为它与数组中第一个元素的第一个字符无关。


推荐阅读