اقتراح ضمني:
_.repeat("0",10)
// => ["0","0",... 10 times]
أو بدلاً من ذلك ، قم بتعديل وظيفة _.range بحيث:
_.range(0,0,10), instead of outputting [] outputs the above.
ها هي حالة الاستخدام:
var values = ["A","B","C"];
_.object(values)
// => {"A":undefined,"B":undefined,"C":undefined} // wonderful, as expected
ولكن ، ماذا لو أردت تهيئة كل قيمة في أزواج المفتاح / القيمة بنفس القيمة؟
قد يكون هذا خيارًا آخر ولكنه لا يعمل:
_.object(values,"0") // provide scalar instead of array
// => {"A":undefined,"B":undefined,"C":undefined} // same as before
سيعمل هذا إذا كان التكرار موجودًا:
_.object(values,_.repeat("0",values.length))
// => {"A":"0","B":"0","C":"0"}
+1 لوظيفة تكرار مصفوفة. لن أقوم بتعديل _.range
لذلك ، لأنه مخصص لنطاقات الأرقام.
بدلاً من طريقة أخرى ، يمكننا فقط تعديل _.times
لإرجاع نتيجة كل مكالمة callback
، كما يفعل Lo-Dash :
var zeros = _.times(10, function() { return 0; });
// => [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ 1jdalton.
يبدو ذلك جيدًا بالنسبة لي - تفضل بذلك.
التعليق الأكثر فائدة
بدلاً من طريقة أخرى ، يمكننا فقط تعديل
_.times
لإرجاع نتيجة كل مكالمةcallback
، كما يفعل Lo-Dash :