2016-08-03 11 views
0

私は4つの異なる情報を返すプロセスを持っています。各プロセスはアスタリスク(*)で区切られています。例えば、コードのようなものを返します:JavaScriptを使用して文字列を区切り、文字列の各部分に値を割り当てるにはどうすればよいですか?

ボーイ* 15 *冬*新年

私は個々にこの文字列を分割し、それぞれの作品に値を割り当てます。
したがって、このような何か:

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

しかし、私はこれらの変数は、ハードコーディングされたくありません。

javascriptを使用してこれを行う方法はありますか?

+0

スプリットアスタリスクの文字列と、データの順序を含む配列への配列をマッピングします。 '[gender '、' age '、...]のようになります。 – Shilly

答えて

0

使用split()文字列分割する:ES6で

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

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)

1

を、あなたはdestructuringで自明これを行うことができます。

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

、あなたはそれを少し地図にする必要がありますが、かなり簡単にオブジェクトを作成します。

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

いずれかの方法を、コアは、あなたのセパレータをString.prototype.splitです。

1

ES2015バージョン:

const [gender, age, favoriteSeason, favoriteHoliday] = yourVar.split('*'); 
関連する問題