İki diziyi bir ile birleştirmek istiyorum. İşi yapabileceğimiz iki fonksiyon buldum; Biri jQuery.merge()
, diğeri ise concat()
işlevinde yerleşik JavaScript'dir. Aynı şeyi yapıyorlar ve ben this'u buldum. Diyor ki: "Birleştirme, orijinal diziden geçtiği ve yeni öğeleri eklediği için daha küçük bir ayak izi oluşturur. Concat, yerleşik bir Javascript işlevidir ve daha hızlı olmalı, ancak daha büyük bir alana sahiptir." Bu ifadenin doğru olup olmadığından emin değilim ve başka farklılıklar var mı?jQuery.merge() ve JavaScript native function concat() arasındaki fark nedir?
cevap
alıntı doğru ve iki işlev de aynı şeyi yapmayın Yani tek tek (ilk param) içine iki dizileri birleştirir ve ikinci hem de yeni bir dizi oluşturur.
o ifade ettiğini "ayak izi", herhangi bir anda kullanımda olacak bellek maksimum miktardır. Birleştirme, yalnızca ikinci diziyi çoğaltacağından beri, daha az bellek kullanmalıdır, çünkü herhangi bir zamanda, yalnızca bellekte 2 diziye sahip olması gerekir.
3 diziler olması gerekir işlevi yerleşik ve yeni bir dizi sıralı olarak her iki dizide boyutu ile aynı olması gerekir. 1000 dizi, A ve B elemanlarının ve C gibi birleştirilmiş bir dizi varsayarsak
:
- Birleştirme 1000 + 1000 [a> c], 1000 [b] veya 3000 noktalar gerekir.
- Concat gerekir 1000 + 1000 [c], 1000 [a] 1000 [b] veya 4000 noktalar.
Kullanımda çok fazla bellek varsa daha az bellek daha hızlı olabilir, daha az hareket daha hızlı olabilir. tmaster en durumda
http://jsperf.com/arrays-jquery-merge-vs-concat –
, o JQuery.merge jQuery Nesnesi birleştirmek için kullanılan olabilir, 2 arrays.Actually birleştirmek jQuery.merge() kullanılan Array.Here jQuery olduğu ile (jQuery nesne uzunluğu da desteklemek vardır) .merge() 'in kodu: JQuery nesne için Yani
merge: function(first, second) {
var len = +second.length,
j = 0,
i = first.length;
for (; j < len; j++) {
first[ i++ ] = second[ j ];
}
first.length = i;
return first;
},
uzunluk özelliği vardır, ilk JQuery nesne .Here için 0,1 gibi ikinci JQuery nesne attr kopyalamak için birleştirme kullanabileceğiniz bir örnektir:
pushStack: function(elems) {
// Build a new jQuery matched element set
var ret = jQuery.merge(this.constructor(), elems);
...
return ret;
},
this.constructor() bir jQuery nesnesi döndürür, ayrıca seçer. Ancak concat yapamaz, bu sadece Array ile kullanılabilir. Bu da concat ve JQuery.merge arasındaki farktır.
Sanırım dizilişe benzer elemanlar da yapabilirsiniz. – deostroll
- 1. Javascript: location.hostname ve document.domain arasındaki fark nedir?
- 2. yerel fonksiyon myFunction ve yerel myFunction = function() arasındaki fark nedir
- 3. Cloud Function ve Firebase Functions arasındaki fark nedir?
- 4. react-native MainActivity.java ve MyApp.java arasındaki fark nedir?
- 5. React-native ve Electron arasındaki fark
- 6. Mocha ile Javascript testinde assert.equal ve assert.deepEqual arasındaki fark nedir?
- 7. Python'da {} ve [] arasındaki fark nedir?
- 8. UNIX'teki $ @ ve $ * arasındaki fark nedir?
- 9. $ arasındaki fark nedir? ve PowerShell
- 10. ADAL.js ve MSAL.js arasındaki fark nedir?
- 11. React-native: yenileme ve yeniden başlatma uygulaması arasındaki fark
- 12. Fark() arasındaki fark nedir mustache.js
- 13. Bu.function ve prototype.function arasındaki fark nedir?
- 14. app.doScript ve $ .evalFile arasındaki fark nedir?
- 15. e.preventDefault() arasındaki fark nedir? ve yanlış döndürmek?
- 16. Python ve Javascript düzenli ifadeleri arasındaki fark nedir?
- 17. Rhino ve Spidermonkey JavaScript motorları arasındaki fark nedir?
- 18. Tarayıcılar ve Düğüm arasındaki fark nedir?
- 19. Createpy ve createspyobj arasındaki fark nedir?
- 20. arasındaki fark nedir?
- 21. Java arasındaki fark nedir
- 22. arasındaki fark nedir?
- 23. Bu işlevler arasındaki fark nedir?
- 24. arasındaki fark nedir?
- 25. gVim ve gVim arasındaki fark nedir?
- 26. isAlpha ve isLetter arasındaki fark nedir?
- 27. Control.Enter ve Control.GotFocus olayları arasındaki fark nedir?
- 28. .got ve .got.plt bölümü arasındaki fark nedir?
- 29. AutomationProperties.AutomationID ve AutomationProperties.Name arasındaki fark nedir?
- 30. Android'de getDir ve getFilesDir arasındaki fark nedir?
Bir fark $ .merge() fonksiyonu yıkıcı olmasıdır. Öğeleri ikinci öğeden eklemek için ilk parametreyi değiştirir. concat() yapmaz. Yeni bir dizi yapar. – j08691