概要
- 独自の規則に従った文字列から二次元配列を生成する。
- 規則性がありつつ、ある程度柔軟性も持たせる。
ルール
- 1階層目の配列区切りはカンマ。
- 2階層目の配列区切りは半角スペース。
- 文字列前後のスペースはないものとして扱う。
- カンマの前後にスペースがあっても、そのスペースはないものとして扱う。
- スペースが2つ以上連続で続いている場合は1つ扱いとする。
例
'hoge 123, fuga 456' -> [["hoge", "123"], ["fuga", "456"]]
'sample test , example text' -> [["sample", "test"], ["example", "text"]]
サンプルコード
var str = 'word texttext test1 , title example.com';
var ary = str.trim().split(',').map(function(item){
return item.trim().replace(/\s+/g,' ').split(' ');
});
console.log(ary); // [["word", "texttext", "test1"], ["title", "example.com"]]
/* 関数化 */
var dArray = function(str) {
return str.trim().split(',').map(function(item) {
return item.trim().replace(/\s+/g, ' ').split(' ');
});
};
var test = dArray(str);
使った関数
関数名 | 効果 |
---|---|
split | 文字列を任意の文字列で区切り、配列を生成 |
trim | 文字列の前後の空白を削除 |
replace | 文字列の置換 |
map | 配列を元に新たな配列を生成する |
まとめ
- オレオレ文法から任意の配列が作れる。
- 関数を組み合わせることで、ちょっとした独自言語のようなことができる。