您好,
我在javascript中有一个名为list的变量,它产生了这个:
Gasp for surprise Giggle Say hello Come on Kick somebody out Kiss somebody Scream Yawn for sleepy Snoring
但是我需要把它分解成一个变量数组,每个句子一个。分隔每个句子的唯一因素是你在它们之间看到的四重空间。另外,为了获得这样的结果,我只需要每个变量的第一个单词:
var sounds = {
"gasp" : {
url : "gasp.mp3",
},
"giggle" : {
url : "giggle.mp3",
},
[...]
"scream" : {
url : "scream.mp3",
},
"snoring" : {
url : "snoring.mp3",
}
};
我怎样才能做到这一点?
谢谢。
答案 0 :(得分:0)
您可以使用split
将字符串拆分为数组,然后使用reduce
将数组转换为对象:
const input = 'Gasp for surprise Giggle Say hello Come on Kick somebody out Kiss somebody Scream Yawn for sleepy Snoring';
const sounds = input.split(' ')
.reduce((accum, str) => {
const name = str.match(/^([^ ]+)/)[0];
accum[name] = { url: name + '.mp3' };
return accum;
}, {});
console.log(sounds);