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

如何去除数组中字符串的引号?数组拼接对象与字符串后引号问题

问题根源

你现在的问题是keywrdrtrn本质是个字符串,不是对象。你写的<code>{city_name:'${city_name}'}</code>其实是把对象格式的文本当成字符串赋值了,所以用concat拼接时,数组里自然会把它当成字符串元素,显示带引号。

解决方法

方法1:直接定义成对象(推荐)

把keywrdrtrn定义为对象字面量,而不是字符串。这样concat的时候会把它作为对象加入数组,不会出现引号:

// 直接创建对象,用模板字符串填充属性值
var keywrdrtrn = { city_name: `${city_name}` };
var obj = v[0].concat(v[1], keywrdrtrn);

这样拼接后的数组里,第三个元素就是正常的对象,不会有引号。

方法2:把现有字符串转成对象(应急方案)

如果因为某些原因只能拿到这个字符串,需要先把它转成对象。注意JSON格式要求属性名和字符串值用双引号,所以要先替换单引号:

// 先处理字符串格式,把单引号转成双引号
var str = keywrdrtrn.replace(/'/g, '"');
// 转成对象
var keyObj = JSON.parse(str);
// 再拼接
var obj = v[0].concat(v[1], keyObj);

但这种方法容易因为字符串格式问题报错,比如如果字符串里有未转义的引号,就会失败,所以优先用方法1。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 11:40:27