自定义索引时Javascript连接错误

自定义索引时Javascript连接错误,javascript,Javascript,我有这个阵列: [10: "AAA", 30: "BBB", 50: "CCC", 60: "DDD", 80: "EEE", 81: "FFF", 82: "GGG", 83: "HHH"] 使用命令后: myarray.join(“|”) 它将返回多个重复的管道。函数join表示存在索引为0-10、11-29等的数组,如:[空×10,“AAA”,空×19,“BBB”,空×19,“CCC”,空×9,“DDD”,空×19,“EEE”,“FFF”,“GGG”,“HHH”] 结果是: || | |

我有这个阵列:

[10: "AAA", 30: "BBB", 50: "CCC", 60: "DDD", 80: "EEE", 81: "FFF", 82: "GGG", 83: "HHH"]
使用命令后:

myarray.join(“|”)

它将返回多个重复的管道。函数
join
表示存在索引为0-10、11-29等的数组,如:
[空×10,“AAA”,空×19,“BBB”,空×19,“CCC”,空×9,“DDD”,空×19,“EEE”,“FFF”,“GGG”,“HHH”]

结果是:

|| | | | | | | | | | | | | | | | | | | || | | | | | | | | | | | | | | | | || || | | | | | | | | | | | | | | | | | || || | | | | | | | | | | | | | | | | | EEE | FFF | GGG | hh

但预期结果是:

AAA | BBB | CCC | DDD | EEE | FFF | GGG | HHH


<>如何加入自定义索引数组?

< p> <代码>过滤器>代码>空白或未定义的条目,然后正常加入。
myarray=[];
myarray[10]=“AAA”;myarray[30]=“BBB”
结果=myarray.filter(x=>x!=''&&x!=未定义)。连接('|')
console.log(结果)
使用

让arr=[];
arr[10]=“AAA”、arr[30]=“BBB”、arr[50]=“CCC”、arr[60]=“DDD”、arr[80]=“EEE”、arr[81]=“FFF”、arr[82]=“GGG”、arr[83]=“HHH”;
让result=arr.filter(v=>!!v).join(“|”);

控制台日志(结果)
您可以使用返回
true
并加入结果的回调来过滤稀疏数组

var数组=[],
结果;
数组[10]=“AAA”;
数组[30]=“BBB”;
数组[50]=“CCC”;
数组[60]=“DDD”;
数组[80]=“EEE”;
数组[81]=“FFF”;
数组[82]=“GGG”;
数组[83]=“HHH”;
结果=数组.filter(=>true).join(“|”);

控制台日志(结果)在加入之前过滤数组..?您会得到这个结果,因为数组实际上就是这样的。数组有83个条目,其中大多数是未定义的,但数组的长度是83。因此,您可能应该考虑使用对象或集合而不是数组;