Я пытаюсь взять такой массив:
location: [
{Id: "000-000", Name: "Foo"},
{Id: "000-001", Name: "Bar"},
..etc
]
Каков наиболее эффективный/чистый способ извлечь идентификаторы и объединить их в одну строку, а также добавить перед каждым значением статическую строку ("& myId=")?
Более кратко, какой самый эффективный способ превратить приведенный выше массив в следующий конечный результат:
&myId=000-000&myId=000-001
Как указано в заголовке, ES6 можно использовать, если он предлагает лучший способ для достижения этой цели.
reduce
map
/join
, потому чтоreduce
не требует создания промежуточного массива, и я предпочитаюreduce
for
, потому что методы массива имеют лучшую абстракцию и не требуют ручной итерации. 29.06.2018join
. 29.06.2018reduce
сбивающими с толку и редко рекомендую их в решениях, ориентированных на новичков. Но каждому свое. 29.06.2018Id
и объединяет его с существующей (единственной, примитивной) строкой-аккумулятором/выходом для создания другого (единственного числа ) нить. На каждой итерации он запускает некоторый код O(1), верно? 29.06.2018encodeURLComponent
и для этих значений. 29.06.2018O(n)
. 29.06.2018