Underscore: fungsi array: ulangi val x kali

Dibuat pada 21 Nov 2012  ·  4Komentar  ·  Sumber: jashkenas/underscore

implikasi yang disarankan:

_.repeat("0",10)
// => ["0","0",... 10 times]

atau sebagai alternatif, ubah fungsi _.range sehingga:

_.range(0,0,10), instead of outputting [] outputs the above.

Berikut adalah kasus penggunaan:

var values = ["A","B","C"];
_.object(values)
// => {"A":undefined,"B":undefined,"C":undefined} // wonderful, as expected

Tetapi, bagaimana jika saya ingin menginisialisasi setiap nilai dalam pasangan kunci/nilai ke nilai yang sama?
Ini bisa menjadi opsi lain tetapi tidak berhasil:

_.object(values,"0") // provide scalar instead of array
// => {"A":undefined,"B":undefined,"C":undefined} // same as before

Ini akan berfungsi jika _repeat ada:

_.object(values,_.repeat("0",values.length))
// => {"A":"0","B":"0","C":"0"} 
change

Komentar yang paling membantu

Alih-alih metode lain, kita bisa memodifikasi _.times untuk mengembalikan hasil dari setiap panggilan callback , seperti yang dilakukan Lo-Dash :

var zeros = _.times(10, function() { return 0; });
// => [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

Semua 4 komentar

+1 untuk fungsi pengulangan array. Saya tidak akan mengubah _.range untuk itu, karena ini didedikasikan untuk rentang angka.

Alih-alih metode lain, kita bisa memodifikasi _.times untuk mengembalikan hasil dari setiap panggilan callback , seperti yang dilakukan Lo-Dash :

var zeros = _.times(10, function() { return 0; });
// => [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

+1 @jdalton.

Kedengarannya bagus untuk saya - lakukanlah.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat