- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
var a = ['a', 'b', 'c'];
var b = ['d', 'e', 'f'];
b.forEach(item => a.push(item)); // a == ["a", "b", "c", "d", "e", "f"]
// Но:
var a = ['a', 'b', 'c'];
var b = ['d', 'e', 'f'];
b.forEach(a.push.bind(a)); // a == ["a", "b", "c", "d", 0, Array(3), "e", 1, Array(3), "f", 2, Array(3)]
В первом примере ты явно передаешь в push 1 аргумент, а во втором - ты не ограничиваешь арность функции и передаются сразу 3 аргумента: элемент, индекс и исходный массив
Мне страшно переписывать Бормандовский сток с языка, которого я не знаю, на другой язык, которого я не знаю. Но, в принципе, в инженерный отдел передали, может, даже перепишем как-нибудь.