Çevrimiçi javascript alıştırmaları yapıyordum (codewars.com). Bir problem, kullanıcıdan bir dizi dizi nesne almasını ve dizinin bütününden bir seviye çıkarmasını istedi.Parametre çalışması olarak özellikle "[]" nasıl kullanılır?
[] /* becomes */ []
[[1, 2, 3], ["a", "b", "c"], [1, 2, 3]] /* becomes */ [1, 2, 3, "a", "b", "c", 1, 2, 3]
[[3, 4, 5], [[9, 9, 9]], ["a,b,c"]] /* becomes */ [3, 4, 5, [9, 9, 9], "a,b,c"]
Ben concat yöntemi hakkında öğrenme sona erdi, ama en popüler çözüm bu açıklamayı ...
function (arr){
return [].concat.apply([],arr);
}
birisi burada []
kullanımını açıklayabilir misiniz kullanılan? Bunun doğru sonuçları nasıl ürettiğini anlayamıyorum (ve sayfada bir açıklama yapmıyor). Boş parantezlerin parametre ve etiketleme dizileri olarak kullanıldığı birçok zamanın olduğunu biliyorum. Bu nedenle, buradaki kullanımın anlaşılması, gelecekte kendimi kullanmam için bana yardımcı olabilir.
Harika bir açıklama! Gittikçe güncellendiğinden beri birkaç kez okudum. Eğer [] .concat 've '([], arr)' 'da' [] 'in aynı dizi nesnesi olsaydı, başlangıçtan emin değildim. Array, 'Array.prototype' ve 'call' kullanarak yeniden yazma işleminizin bozulmasını ve bana nasıl daha tanıdık geldiğini tam anlamıyla kavradı. – JoeL