如何使用JavaScript分离字符串并为字符串的每一部分赋值

How can I separate a string using JavaScript and assign values to each piece of the String?

本文关键字:字符串 一部分 赋值 串并 JavaScript 分离 字符 何使用      更新时间:2023-09-26

我有一个返回4条不同信息的过程,每条信息用星号(*)分隔。例如,代码将返回如下内容:

男孩*15*冬季*新年

我想把这个字符串分成单独的字符串,并为每个字符串赋值
这样的东西:

var gender = Boy
var age = 15
var favoriteSeason = Winter
var favoriteHoliday = New Years

但我不希望这些变量被硬编码。

有没有一种方法可以使用javascript来做到这一点?

在ES6中,您可以通过析构函数来实现这一点:

const [gender, age, favoriteSeason, favoriteHoliday] = 'Boy*15*Winter*New Years'.split('*');

在ES5中,您需要对其进行一点映射,但可以很容易地创建对象:

var chunks = 'Boy*15*Winter*New Years'.split('*');
return {
  gender: chunks[0],
  age: chunks[1],
  favoriteSeason: chunks[2],
  favoriteHoliday: chunks[3],
};

无论哪种方式,核心都是带有分隔符的String.prototype.split

ES2015版本:

const [gender, age, favoriteSeason, favoriteHoliday] = yourVar.split('*');

使用split()分解字符串:

s = 'Boy*15*Winter*New Years';
a = s.split('*');
gender = s[0];
age = int(s[1])
favoriteSeason = s[2];
favoriteHoliday = s[3];

var str = "Boy*15*Winter*New Years";
var array = str.split("*");
var gender = array[0];
var age = array[1];
var favoriteSeason = array[2];
var favoriteHoliday = array[3];
console.log(gender, age, favoriteSeason, favoriteHoliday)