javascript - 为什么 '[' + array + ']' 返回一个普通数组?
问题描述
所以我只是在写一些代码,并意识到在数组周围添加方括号只会返回一个完整的正常数组,如下所示,
var arr = [1, 2, 3]
var addSquareBrackets = function(arr) {
return '[' + arr + ']';
}
addSquareBrackets(arr); // <- returns [1, 2, 3]
当在数组周围连接花括号时也会发生同样的事情。
var arr = [1, 2, 3]
var addCurlyBrackets = function(arr) {
return '{' + arr + '}';
}
addCurlyBrackets(arr); // <- returns {1, 2, 3}
第一个示例返回 [1, 2, 3] 而不是 [[1, 2, 3]] 或第二个示例返回 {1, 2, 3} 而不是 {[1, 2, 3]}。有人可以帮我理解为什么会这样吗?
解决方案
使用+
运算符,只要一侧有字符串,另一侧的任何表达式也会被强制转换为字符串。
数组,当被强制转换为字符串时,会.join(',')
调用它们:
console.log(String([1, 2, 3]));
他们不会在[
]
结果周围添加数组分隔符 - 他们只是将普通值用逗号连接在一起。
推荐阅读
- java - 在 Spring Data Repositories 之上使用 EntityManager
- ios - 访问子视图控制器的 UITabBarController
- azure - 如何在 Azure ML 环境中使用自定义 R 模块?
- java - 如何在android studio中使用蓝牙发送字节数据包?
- javascript - Laravel PUT 响应错误 419。令牌被添加到标题中。我仍然没有结果
- asp.net - 如何从我的网站中删除 cookie
- javascript - 如何永久保存表格内容
- r - R中带有编码(抛光符号)的kable函数
- android - 将json响应转换为字符串android
- php - 电报链接预览显示登录