如何在javascript中使用命名的Array元素?

edi*_*n-m 1 javascript arrays

['a', 'b', 'c'].join([separator = ','])
Run Code Online (Sandbox Code Playgroud)

得到"a,b,c"

[separator=',']
Run Code Online (Sandbox Code Playgroud)

显然是有效的.

如何创建myjoin使用myseparator为某种参数.如何使用这个命名的数组参数,如何访问它以及它可以在哪里使用?

我的主要目的不是真的装箱myseparator,而是试图理解这个结构,因为我之前没有碰到它.

对不起,如果重复问题,我还没有找到任何其他资源.

Poi*_*nty 7

你的陈述在语法上是正确的,但它以一种奇怪的方式实现了它的结果.

.join()方法确实采用了参数,并且参数应该是一个字符串.如果它不是字符串,则通过常规方法强制转换为字符串.在您的代码中,从数组[separator=',']转换时的数组将是字符串",".

等效(不太奇怪)的方式是连接

['a', 'b', 'c'].join(",");
Run Code Online (Sandbox Code Playgroud)

请注意,对变量的嵌入式赋值separator是一种副作用,与.join()函数的行为无关.事件调用发生在函数调用(to .join())之前的事实是该函数无法检测到的.

编辑 - 该.join()方法的MDN文档描述如下:

str = arr.join([separator = ','])
Run Code Online (Sandbox Code Playgroud)

这是整个MDN文档中使用的令人遗憾的令人困惑的符号约定.括号内separator = ','是一个元语法约定,意味着该函数接受一个可选参数.它是可选的这一事实由方括号表示.


KJ *_*ice 5

我不完全确定你要做什么,但我认为你在尝试定位分隔符之前就已经尝试了join.这看起来像吗?

var separator = ',';
['a', 'b', 'c'].join(separator);
Run Code Online (Sandbox Code Playgroud)