Hoe voeg ik een object (zoals een tekenreeks of getal) toe aan een array in JavaScript?
Antwoord 1, autoriteit 100%
Gebruik de Array.prototype.push
methode om waarden toe te voegen aan het einde van een array:
// initialize array
var arr = [
"Hi",
"Hello",
"Bonjour"
];
// append new value to the array
arr.push("Hola");
console.log(arr);
Antwoord 2, autoriteit 22%
Als je maar één variabele toevoegt, dan werkt push()
prima. Als u nog een array moet toevoegen, gebruikt u concat()
:
var ar1 = [1, 2, 3];
var ar2 = [4, 5, 6];
var ar3 = ar1.concat(ar2);
alert(ar1);
alert(ar2);
alert(ar3);
Antwoord 3, autoriteit 9%
Enkele snelle benchmarking (elke test = 500k toegevoegde elementen en de resultaten zijn gemiddelden van meerdere runs) toonde het volgende aan:
Firefox 3.6 (Mac):
- Kleine arrays:
arr[arr.length] = b
is sneller(300ms vs. 800ms) - Grote arrays:
arr.push(b)
is sneller(500 ms vs. 900 ms)
Safari 5.0 (Mac):
- Kleine arrays:
arr[arr.length] = b
is sneller(90ms vs. 115ms) - Grote arrays:
arr[arr.length] = b
is sneller (160ms versus 185ms)
Google Chrome 6.0 (Mac):
- Kleine arrays: Geen significant verschil (en Chrome is snel! Alleen ~ 38ms !!)
- grote arrays: geen significant verschil (160ms)
Ik hou van de arr.push()
SYNTAX BETER, maar ik denk dat ik het beter zou zijn met de arr[arr.length]
-versie, althans in RAW-snelheid. Ik zou het leuk vinden om de resultaten van een IE-run te zien.
Mijn benchmarking-lussen:
function arrpush_small() {
var arr1 = [];
for (a = 0; a < 100; a++)
{
arr1 = [];
for (i = 0; i < 5000; i++)
{
arr1.push('elem' + i);
}
}
}
function arrlen_small() {
var arr2 = [];
for (b = 0; b < 100; b++)
{
arr2 = [];
for (j = 0; j < 5000; j++)
{
arr2[arr2.length] = 'elem' + j;
}
}
}
function arrpush_large() {
var arr1 = [];
for (i = 0; i < 500000; i++)
{
arr1.push('elem' + i);
}
}
function arrlen_large() {
var arr2 = [];
for (j = 0; j < 500000; j++)
{
arr2[arr2.length] = 'elem' + j;
}
}
Antwoord 4, Autoriteit 6%
Ik denk dat het de moeite waard is om te vermelden dat push kan worden genoemd met meerdere argumenten, die in orde worden toegevoegd aan de array. Bijvoorbeeld:
var arr = ['first'];
arr.push('second', 'third');
console.log(arr);
Antwoord 5, Autoriteit 2%
U kunt de functie push
en apply
gebruiken om twee arrays toe te voegen.
var array1 = [11, 32, 75];
var array2 = [99, 67, 34];
Array.prototype.push.apply(array1, array2);
console.log(array1);
Antwoord 6
Met de nieuwe ES6 spread-operator, wordt het samenvoegen van twee arrays met push
nog eenvoudiger:
var arr = [1, 2, 3, 4, 5];
var arr2 = [6, 7, 8, 9, 10];
arr.push(...arr2);
console.log(arr);
Antwoord 7
Als arr
een array is en val
de waarde is die u wilt toevoegen, gebruik dan:
arr.push(val);
Bijvoorbeeld
var arr = ['a', 'b', 'c'];
arr.push('d');
console.log(arr);
Antwoord 8
Gebruik concat
:
a = [1, 2, 3];
b = [3, 4, 5];
a = a.concat(b);
console.log(a);
Antwoord 9
Javascript met de ECMAScript 5-standaard die nu door de meeste browsers wordt ondersteund, u kunt apply()
gebruiken om array1
toe te voegen aan array2
.
var array1 = [3, 4, 5];
var array2 = [1, 2];
Array.prototype.push.apply(array2, array1);
console.log(array2); // [1, 2, 3, 4, 5]
Javascript met de ECMAScript 6-standaard die wordt ondersteund door Chrome en FF en IE Edge, u kunt de spread
-operator gebruiken:
"use strict";
let array1 = [3, 4, 5];
let array2 = [1, 2];
array2.push(...array1);
console.log(array2); // [1, 2, 3, 4, 5]
De operator spread
vervangt array2.push(...array1);
door array2.push(3, 4, 5);
wanneer de browser de logica denkt.
Bonuspunt
Als u een anderevariabele wilt maken om alle items van beide arrays op te slaan, kunt u dit doen:
ES5var combinedArray = array1.concat(array2);
ES6const combinedArray = [...array1, ...array2]
De spread-operator (...
) is om alle items uit een verzameling te spreiden.
Antwoord 10
Als u twee arrays wilt toevoegen –
var a = ['a', 'b'];
var b = ['c', 'd'];
dan zou je kunnen gebruiken:
var c = a.concat(b);
en als u record wilt toevoegen g
aan array (var a=[]
), kunt u gebruiken:
a.push('g');
Antwoord 11
Er zijn een aantal manieren om een array in JavaScript aan te voegen:
1) De push()
Methode voegt een of meer elementen toe aan het einde van een array en retourneert de nieuwe lengte van de array.
var a = [1, 2, 3];
a.push(4, 5);
console.log(a);
Uitgang:
[1, 2, 3, 4, 5]
2) De unshift()
Methode voegt een of meer elementen toe aan het begin van een array en retourneert de nieuwe lengte van de array:
var a = [1, 2, 3];
a.unshift(4, 5);
console.log(a);
Uitgang:
[4, 5, 1, 2, 3]
3) De concat()
-methode wordt gebruikt om twee of meer arrays samen te voegen. Deze methode verandert niet de bestaande arrays, maar retourneert in plaats daarvan een nieuwe array.
var arr1 = ["a", "b", "c"];
var arr2 = ["d", "e", "f"];
var arr3 = arr1.concat(arr2);
console.log(arr3);
Uitgang:
[ "a", "b", "c", "d", "e", "f" ]
4) U kunt het .length
om een element aan het einde van de array toe te voegen:
var ar = ['one', 'two', 'three'];
ar[ar.length] = 'four';
console.log( ar );
Uitvoer:
["one", "two", "three", "four"]
5)De methode splice()
verandert de inhoud van een array door bestaande elementen te verwijderen en/of nieuwe elementen toe te voegen:
var myFish = ["angel", "clown", "mandarin", "surgeon"];
myFish.splice(4, 0, "nemo");
//array.splice(start, deleteCount, item1, item2, ...)
console.log(myFish);
Uitvoer:
["angel", "clown", "mandarin", "surgeon","nemo"]
6)U kunt ook een nieuw element aan een array toevoegen door simpelweg een nieuwe index op te geven en een waarde toe te kennen:
var ar = ['one', 'two', 'three'];
ar[3] = 'four'; // add new element to ar
console.log(ar);
Uitvoer:
["one", "two","three","four"]
Antwoord 12
De methode push()
voegt nieuwe items toe aan het einde van een array en geeft de nieuwe lengte terug. Voorbeeld:
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.push("Kiwi");
// The result of fruits will be:
Banana, Orange, Apple, Mango, Kiwi
Het exacte antwoord op uw vraag is al beantwoord, maar laten we eens kijken naar enkele andere manieren om items aan een array toe te voegen.
De unshift()
Methode voegt nieuwe items toe aan het begin van een array en retourneert de nieuwe lengte. Voorbeeld:
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.unshift("Lemon", "Pineapple");
// The result of fruits will be:
Lemon, Pineapple, Banana, Orange, Apple, Mango
En ten slotte wordt de concat()
-methode gebruikt om deel te nemen aan twee of meer arrays. Voorbeeld:
var fruits = ["Banana", "Orange"];
var moreFruits = ["Apple", "Mango", "Lemon"];
var allFruits = fruits.concat(moreFruits);
// The values of the children array will be:
Banana, Orange, Apple, Mango, Lemon
Antwoord 13
Nu, u kunt profiteren van ESS6-syntaxis en doen het gewoon:
let array = [1, 2];
console.log([...array, 3]);
Houd de originele array onveranderlijk.
Antwoord 14
Als u de hoogste index kent (zoals opgeslagen in een variabele “I”), kunt u
doen
myArray[i + 1] = someValue;
Als u echter niet weet, kunt u
gebruiken
myArray.push(someValue);
Zoals andere antwoorden, of u kunt gebruiken
myArray[myArray.length] = someValue;
Merk op dat de array op nul is gebaseerd, dus stuur de hoogste index plus één.
Houd er ook rekening mee dat u niet in volgorde hoeft toe te voegen en u kunt daadwerkelijk waarden overslaan, zoals in
myArray[myArray.length + 1000] = someValue;
In dat geval zullen de waarden ertussen de waarde undefined hebben.
Het is daarom een goede gewoonte om bij het doorlopen van een JavaScript te controleren of er op dat moment een waarde daadwerkelijk bestaat.
Dit kan worden gedaan door iets als het volgende:
if(myArray[i] === "undefined"){ continue; }
als u zeker weet dat u geen nullen in de array heeft, kunt u het volgende doen:
if(!myArray[i]){ continue; }
Zorg er natuurlijk voor dat u in dit geval niet myArray[i] als voorwaarde gebruikt (zoals sommige mensen op internet suggereren op basis van het einde dat zodra i groter is dan de hoogste index, deze ongedefinieerd zal terugkeren die evalueert naar onwaar)
Antwoord 15
Eén element toevoegen
//Append to the end
arrName.push('newName1');
//Prepend to the start
arrName.unshift('newName1');
//Insert at index 1
arrName.splice(1, 0,'newName1');
//1: index number, 0: number of element to remove, newName1: new element
// Replace index 3 (of exists), add new element otherwise.
arrName[3] = 'newName1';
Meerdere elementen toevoegen
//Insert from index number 1
arrName.splice(1, 0,'newElemenet1', 'newElemenet2', 'newElemenet3');
//1: index number from where insert starts,
//0: number of element to remove,
//newElemenet1,2,3: new elements
Array toevoegen
//join two or more arrays
arrName.concat(newAry1, newAry2);
//newAry1,newAry2: Two different arrays which are to be combined (concatenated) to an existing array
Antwoord 16
concat()
kan natuurlijk ook worden gebruikt met 2-dimensionale arrays. Geen lus nodig.
var a = [
[1, 2],
[3, 4] ];var b = [
[“a”, “b”],
[“c”, “d”] ];b = b.concat(a);
waarschuwing(b[2][1]); // resultaat 2
Antwoord 17
Laat de eigenschap array length het werk doen:
myarray[myarray.length] = 'new element value added to the end of the array';
myarray.length retourneert het aantal strings in de array.
JS is gebaseerd op nul, dus de volgende elementsleutel van de array is de huidige lengte van de array.
BIJV.:
var myarray = [0, 1, 2, 3],
myarrayLength = myarray.length; //myarrayLength is set to 4
Antwoord 18
Ik wil gewoon een fragment toevoegen voor niet-destructieve toevoeging van een element.
var newArr = oldArr.concat([newEl]);
Antwoord 19
Voeg een waarde toe aan een array
Sinds Array.prototype.pushvoegt een of meer elementen toe aan het einde van een array en geeft de nieuwe lengte van de array terug, soms willen we gewoon de nieuwe up-to-date array hebben zodat we zoiets kunnen doen :
const arr = [1, 2, 3];
const val = 4;
arr.concat([val]); // [1, 2, 3, 4]
Of gewoon:
[...arr, val] // [1, 2, 3, 4]
Antwoord 20
Als je de ES6 gebruikt, kun je spread gebruiken operator om het te doen.
var arr = [
"apple",
"banana",
"cherry"
];
var arr2 = [
"dragonfruit",
"elderberry",
"fig"
];
arr.push(...arr2);
Antwoord 21
u kunt het doen met de nieuwe javascript Es 6-functie:
// initialize array
var arr = [
"Hi",
"Hello",
"Bangladesh"
];
// append new value to the array
arr= [...arr , "Feni"];
// or you can put a variable value
var testValue = "Cool";
arr = [...arr , testValue ];
console.log(arr);
// final output [ 'Hi', 'Hello', 'Bangladesh', 'Feni', 'Cool' ]
Antwoord 22
Een enkel item toevoegen
Als u een enkel item aan een array wilt toevoegen, gebruikt u de push()
methode geleverd door het Array object:
const fruits = ['banana', 'pear', 'apple']
fruits.push('mango')
console.log(fruits)
push()
muteert de originele array.
Als u in plaats daarvan een nieuwe array wilt maken, gebruikt u de concat()
Matrixmethode:
const fruits = ['banana', 'pear', 'apple']
const allfruits = fruits.concat('mango')
console.log(allfruits)
Merk op dat concat()
niet echt een item aan de array toevoegt, maar een nieuwe array maakt, die u aan een andere variabele kunt toewijzen, of opnieuw kunt toewijzen aan de oorspronkelijke array (declareren als let
, aangezien u een const
niet opnieuw kunt toewijzen):
const fruits = ['banana', 'pear', 'apple']
const allfruits = fruits.concat('mango')
console.log(allfruits)
let fruits = ['banana', 'pear', 'apple']
fruits = fruits.concat('mango')
Meerdere items toevoegen
Als u meerdere items aan een array wilt toevoegen, kunt u push()
door het met meerdere argumenten aan te roepen:
const fruits = ['banana', 'pear', 'apple']
fruits.push('mango', 'melon', 'avocado')
console.log(fruits)
U kunt ook de concat()
methode die je eerder hebt gezien, waarbij je een lijst met items doorgeeft, gescheiden door een komma:
const fruits = ['banana', 'pear', 'apple']
const allfruits = fruits.concat('mango', 'melon', 'avocado')
console.log(allfruits)
of een array:
const fruits = ['banana', 'pear', 'apple']
const allfruits = fruits.concat(['mango', 'melon', 'avocado'])
console.log(allfruits)
Vergeet niet dat zoals beschreven voorheen deze methode niet de originele array muteert, maar het retourneert een nieuwe array.
Oorspronkelijk gepost op
Antwoord 23
Als u 2 arrays zonder het duplicaat wilt combineren, kunt u de onderstaande code proberen
array_merge = function (arr1, arr2) {
return arr1.concat(arr2.filter(function(item){
return arr1.indexOf(item) < 0;
}))
}
Gebruik:
array1 = ['1', '2', '3']
array2 = ['2', '3', '4', '5']
combined_array = array_merge(array1, array2)
Output:
[1,2,3,4,5]
Antwoord 24
u .push () die waarde in.
Voorbeeld: array.push (waarde);
Antwoord 25
Als u een enkele waarde in een array wilt toevoegen, gebruikt u eenvoudig de drukmethode. Het voegt een nieuw element aan het einde van de array toe.
Maar als u van plan bent meerdere elementen toe te voegen, bewaar dan de elementen in een nieuwe array en concat met de tweede array met de eerste array … hoe dan ook.
arr=['a','b','c'];
arr.push('d');
//now print the array in console.log and it will contain 'a','b','c','d' as elements.
console.log(array);
Antwoord 26
We hebben geen append-functie voor Array in javascript, maar we hebben pushen unshift, stel je voor dat je de onderstaande array hebt:
var arr = [1, 2, 3, 4, 5];
en we willen graag een waarde aan deze array toevoegen, we kunnen doen, arr.push(6) en het zal 6 toevoegen aan het einde van de array:
arr.push(6); // return [1, 2, 3, 4, 5, 6];
ook kunnen we unshift gebruiken, kijk hoe we dit kunnen toepassen:
arr.unshift(0); //return [0, 1, 2, 3, 4, 5];
Het zijn hoofdfuncties om nieuwe waarden aan de arrays toe te voegen of toe te voegen.
Antwoord 27
U kunt de push-methode gebruiken.
Array.prototype.append = function(destArray){
destArray = destArray || [];
this.push.call(this,...destArray);
return this;
}
var arr = [1,2,5,67];
var arr1 = [7,4,7,8];
console.log(arr.append(arr1));// [7, 4, 7, 8, 1, 4, 5, 67, 7]
console.log(arr.append("Hola"))//[1, 2, 5, 67, 7, 4, 7, 8, "H", "o", "l", "a"]
Antwoord 28
push()
voegt een nieuw element toe aan het einde van een array.
pop()
verwijdert een element aan het einde van een array.
Als u een object (zoals een tekenreeks of een getal) aan een array wilt toevoegen, gebruikt u –
array.push(toAppend);
Antwoord 29
Items toevoegen aan een array
let fruits =["orange","banana","apple","lemon"]; /*array declaration*/
fruits.push("avacado"); /* Adding an element to the array*/
/*displaying elements of the array*/
for(var i=0; i < fruits.length; i++){
console.log(fruits[i]);
}
ANTWOORD 30
U kunt de push () gebruiken als u waarden wilt toevoegen
b.v. arr.push("Test1", "Test2");
Als u een array hebt, kunt u Concat gebruiken ()
b.v. Array1.concat(Array2)
Als u slechts één element hebt om toe te voegen, kunt u ook length Menthod proberen
b.v. array[aray.length] = 'test';