鍍金池/ 問答/數(shù)據(jù)分析&挖掘  HTML/ js把字符串變成數(shù)組

js把字符串變成數(shù)組

把 s="A,B,C"
變成
[

{
id: 1,
title: 'A',
},
{
id: 2,
title: 'B',
},
{
id: 3,
title: 'C'
}

],

我的方法是

ss = s.split(",");
console.log(ss)
arr = [];
for (var i=1; i<=ss.length; i++) {
a=ss[i]
arr[i]['id']=i;
arr[i]['title']=a;
}
console.log(arr)

但是還是報錯

回答
編輯回答
伐木累
  1. for (var i=1; i<=ss.length; i++)循環(huán)條件不對,i的變化范圍應(yīng)該是從0ss.length - 1,不過這個不會導(dǎo)致報錯;

  2. arr[i]['id']=i;arr[i]['title']=a; arr是一個空數(shù)組,所以arr[i]undefined,undefined['id']undefined['title']當(dāng)然會報錯;

修改如下:

ss = s.split(",");
console.log(ss)
arr = [];
for (var i=0; i<ss.length; i++) {
    a=ss[i]
    arr[i] = {
        id: i,
        title: a
    }
}
console.log(arr)
2017年12月30日 03:37
編輯回答
生性

你要循環(huán)出他的數(shù)據(jù)拼接一下字符串 就得到你的值了

2017年5月10日 16:10
編輯回答
離人歸

先用String標(biāo)準(zhǔn)庫的split()分割成數(shù)組,然后再遍歷數(shù)組生成對象。

2017年8月15日 21:34
編輯回答
撥弦
let s = "A,B,C";

let arr = s.split(',').map((title, id) => {
    id++;
    return { id, title };
});
2017年4月6日 15:54
編輯回答
款爺
> s="A,B,C"
> s.split(',').map((t,i)=>({id:i+1, title:t}))
[ { id: 1, title: 'A' },
  { id: 2, title: 'B' },
  { id: 3, title: 'C' } ]
2017年10月22日 12:12