JavaScript数组按Assets_%排序报‘Expression Expected’错误的解决方法
解决JavaScript含特殊字符属性名的数组排序问题
你尝试对包含Assets_%属性的数组元素排序时,使用点语法访问属性触发了Expression Expected错误,确实是因为属性名里的%属于特殊字符,不符合JavaScript标识符命名规则,导致点语法无法识别。
解决方案
直接改用方括号语法访问属性,这是处理特殊字符属性名的标准方式,修改后的排序代码如下:
allHoldings.sort((a, b) => a['Assets_%'] - b['Assets_%']);
原理说明
JavaScript的点语法仅支持符合标识符规范的属性名(不能包含%、空格、连字符等特殊字符,也不能以数字开头),而方括号语法可以接收任意字符串作为属性名,完全不受命名规则限制,完美适配这类特殊命名的属性。
内容的提问来源于stack exchange,提问作者Justin
相关产品推荐
相关产品推荐

