You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Underscore或JavaScript移除数组首尾的方括号

嘿,这个需求其实很好解决,不管用原生JavaScript还是Underscore都能快速实现,我给你整理了几个实用的方案:

方案1:JavaScript原生实现

这里有两种思路,你可以根据自己的场景选择:

思路A:遍历子数组拼接(推荐,更灵活)

如果你的输入是数组对象,可以先把每个子数组转成字符串,再用逗号加空格连接起来,完美匹配你要的格式:

const inputArr = [['moe', 30], ['larry', 40], ['curly', 50]];
// 双引号版本(JSON标准格式)
const outputDoubleQuotes = inputArr.map(subArr => JSON.stringify(subArr)).join(', ');
console.log(outputDoubleQuotes); // 输出: ["moe",30], ["larry",40], ["curly",50]

// 如果想要单引号的格式,手动拼接即可
const outputSingleQuotes = inputArr.map(subArr => 
  `['${subArr.join("', '")}']`
).join(', ');
console.log(outputSingleQuotes); // 输出: ['moe', '30'], ['larry', '40'], ['curly', '50']

这种方法的好处是,即使数组里有特殊字符(比如引号、逗号),用JSON.stringify会自动转义,避免格式出错。

思路B:字符串切片法

如果已经把数组转成了完整的JSON字符串,直接去掉首尾的方括号就可以:

const inputArr = [['moe', 30], ['larry', 40], ['curly', 50]];
const fullStr = JSON.stringify(inputArr);
const output = fullStr.slice(1, -1);
// 默认输出是逗号后无空格,如果需要空格可以再加一步替换
const outputWithSpace = output.replace(/\],\[/g, '], [');
console.log(outputWithSpace); // 输出: ["moe",30], ["larry",40], ["curly",50]
方案2:Underscore.js实现

Underscore本质是封装了原生JS的工具函数,所以思路和原生类似,用_.map遍历处理每个子数组,再用join拼接:

const inputArr = [['moe', 30], ['larry', 40], ['curly', 50]];
// 双引号版本
const output = _.map(inputArr, JSON.stringify).join(', ');
console.log(output); // 输出: ["moe",30], ["larry",40], ["curly",50]

// 单引号版本
const outputSingleQuotes = _.map(inputArr, subArr => 
  `['${_.join(subArr, "', '")}']`
).join(', ');

内容的提问来源于stack exchange,提问作者Ananth

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 06:37:24