请教如何删除数组中的某一个字符

我有下列数组:

var list = [
    "{ 'id': 1, 'name': 'a' }",
    "{ 'id': 2, 'name': 'b' }",
    "{ 'id': 3, 'name': 'c' }",
];

我需要将其中每一行"都删除,改如何写呢?
变成下列这样:

var list = [
    { 'id': 1, 'name': 'a' },
    { 'id': 2, 'name': 'b' },
    { 'id': 3, 'name': 'c' },
];

ps:不好意思,之前有编辑错误。

阅读 1.9k
2 个回答
var list = [
    "{ 'id': 1, 'name': 'a' }",
    "{ 'id': 2, 'name': 'b' }",
    "{ 'id': 3, 'name': 'c' }",
];
list.map(item=>new Function('return '+ item)());

结果

[ 
 {id: 1, name: "a"},
 {id: 2, name: "b"},
 {id: 3, name: "c"}
]
var list = [
    "{ 'id': 1, 'name': 'a' }",
    "{ 'id': 2, 'name': 'b' }",
    "{ 'id': 3, 'name': 'c' }",
];
new Function('return [' + list.toString()+']')();

结果

[ 
 {id: 1, name: "a"},
 {id: 2, name: "b"},
 {id: 3, name: "c"}
]

image.png
你的源数组字符串中,name的值不是数字,也没有用引号,所以源数组字符串元素不是一个对象,你需要将name的值拼接一对引号之后才能转对象

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题