Ответ 1
your_array = string.match( pattern )
У меня есть эта строка:
{example1}{example2}{example3}
Это регулярное выражение для поиска этих {
anything in it
}
:
/\{.*?\}/g
Теперь я хочу знать, как поместить их в массив, чтобы я мог сделать оператор for in
.
Мне нужен массив вроде array("{example1}","{example2}","{example3}");
?
your_array = string.match( pattern )
var matches = '{example1}{example2}{example3}'.match(/\{.*?\}/g);
// ['{example1}', '{example2}', '{example3}']
Кроме того, вы должны использовать цикл for
для итерации по массиву. for in
может иметь побочные эффекты, такие как сбор большего количества вещей для итерации через цепочку прототипов. Вы можете использовать hasOwnProperty()
, но цикл for
намного проще.
Для производительности вы также можете кэшировать свойство length
до включения его в состояние for
.