次のような値のリストを返す ajax リクエストがあります。
"[-5, 5, 5], [-6, 15, 15], [7, 13, 12]"
数字を持つJavaScript配列である必要があります:
[[-5, 5, 5], [-6, 15, 15], [7, 13, 12]]
「[」と「]」を「|」に置き換えようとしました '|' で分割 foreach アイテムを「,」で分割して配列に追加しますが、これはまったくエレガントではありません。
何か提案はありますか?
次のような値のリストを返す ajax リクエストがあります。
"[-5, 5, 5], [-6, 15, 15], [7, 13, 12]"
数字を持つJavaScript配列である必要があります:
[[-5, 5, 5], [-6, 15, 15], [7, 13, 12]]
「[」と「]」を「|」に置き換えようとしました '|' で分割 foreach アイテムを「,」で分割して配列に追加しますが、これはまったくエレガントではありません。
何か提案はありますか?
このソリューションは実際にはばかげています-JSON.parse
他の人が言ったように絶対に使用してください-しかし、正規表現を楽しむために、ここに行きます:
function getMatches(regexp, string) {
var match, matches = [];
while ((match = regexp.exec(string)) !== null)
matches.push(match[0]);
return matches;
}
function parseIntArrays(string) {
return getMatches(/\[[^\]]+\]/g, string)
.map(function (string) {
return getMatches(/\-?\d+/g, string)
.map(function (string) {
return parseInt(string);
});
});
}
parseIntArrays("[-5, 5, 5], [-6, 15, 15], [7, 13, 12]");