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"}
+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.
Komentar yang paling membantu
Alih-alih metode lain, kita bisa memodifikasi
_.times
untuk mengembalikan hasil dari setiap panggilancallback
, seperti yang dilakukan Lo-Dash :