Поскольку es2015 становится все более популярным, я публикую этот ответ, который включает использование генератора и итератора для плавной перебора через пары [key, value]
. Как это возможно в других языках, например Ruby.
Хорошо, вот код:
const MyObject = {
'a': 'Hello',
'b': 'it\'s',
'c': 'me',
'd': 'you',
'e': 'looking',
'f': 'for',
[Symbol.iterator]: function* () {
for (const i of Object.keys(this)) {
yield [i, this[i]];
}
}
};
for (const [k, v] of MyObject) {
console.log(`Here is key ${k} and here is value ${v}`);
}
Вся информация о том, как вы можете сделать итератор и генератор, который вы можете найти у разработчика Mozilla page.
Надеюсь, это помогло кому-то.
EDIT:
ES2017 будет включать в себя Object.entries
, который сделает итерацию по парам [key, value]
в объектах еще более Полегче. Теперь известно, что он будет частью стандарта в соответствии с информацией о статусе ts39 .
Я думаю, что пришло время обновить мой ответ, чтобы он стал еще более свежим чем сейчас.
const MyObject = {
'a': 'Hello',
'b': 'it\'s',
'c': 'me',
'd': 'you',
'e': 'looking',
'f': 'for',
};
for (const [k, v] of Object.entries(MyObject)) {
console.log(`Here is key ${k} and here is value ${v}`);
}
Вы можете узнать больше об использовании на странице MDN
Вы пытались использовать рычаги? Они работают над серверной стороной только, но могут добиться цели. Иначе я просто звонил бы, сценарий действительно обновляют пересмотр, если ключевые слова не подходят для Вас.
Существует простой инструмент в TortoiseSVN по имени SubWCRev.exe. Это берет пересмотр от пути, и создайте файл из своего собственного шаблона. Можно использовать его в качестве команды перед сборкой.
Лучший способ сделать это, имеют сценарий сборки для выпусков, которые определят использование числа пересмотра svnversion
или svn info
и вставьте его в файл. Всегда полезно иметь сценарий который:
svnversion
или что-то подобное для вычислений номера сборкиЗатем у Вас есть процесс с одним шагом для создания выпуска с легко идентифицируемой версией. Это также помогает Вам постараться не давать кому-то сборку из своей собственной рабочей копии, которая может иметь изменения, которые никогда не проверялись в управление исходным кодом.
Автоматически обновите файл как часть создания/развертывания выпуска.
На одном проекте, где у меня была причина, делают это, я обманул: это звонит svnversion
на себе, когда это запускает.
Как alexander сказал, один путь состоит в том, чтобы обновить пересмотр как часть процесса сборки.
Один метод выполнения этого должен взять Ваши сборки конечных версий от автоматизированного процесса сборки, инициированного от Вашей регистрации управления версиями, при помощи инструмента, такие как buildbot.
Сценарий мог бы быть должен инициировать автоматизированную сборку с помощью сценария пострычага на репозитории подверсии. Это заставляет Ваш buildbot обновлять к, последний раз зарегистрировался в пересмотре. Ваш сценарий сборки (например, Make-файл) использовал бы 'svnversion' (или 'svn информация' и grep), чтобы считать пересмотр репозитория и записать это в заголовочный файл, прежде чем сборка произойдет.
После успешной сборки автоматически перепроверьте этот файл в репозиторий с подходящим комментарием о версии выпуска.