Vraag Wat is het verschil tussen "{}" en "[]" bij het declareren van een JavaScript-array?


Wat is het verschil tussen "{}" en "[]" bij het declareren van een JavaScript-array? Normaal gesproken verklaar ik dat

var a=[];

wat meanning van het verklaren van de serie is var a={}


16
2017-11-04 06:14


oorsprong


antwoorden:


Niemand lijkt het verschil tussen een array en een object te verklaren.

[] is een array aan het declareren.

{} is een object aan het declareren.

Een array heeft alle kenmerken van een object met extra functies (u kunt denken aan een array als een subklasse van een object) waarin extra methoden en mogelijkheden worden toegevoegd in de subklasse Array. Eigenlijk, typeof [] === "object" om u verder te laten zien dat een array een object is.

De extra functies bestaan ​​uit magie .length eigenschap die het aantal items in de array bijhoudt en een hele reeks methoden om op de array te werken, zoals .push(), .pop(), .slice(), .splice(), enz. ... U kunt een lijst met matrixmethoden zien hier.

Een object geeft u de mogelijkheid om een ​​eigenschapsnaam te koppelen aan een waarde zoals in:

var x = {};
x.foo = 3;
x["whatever"] = 10;
console.log(x.foo);      // shows 3
console.log(x.whatever); // shows 10

Objecteigenschappen zijn toegankelijk via de x.foo syntaxis of via de array-achtige syntaxis x["foo"]. Het voordeel van de laatste syntaxis is dat u een variabele kunt gebruiken als de eigenschapsnaam x[myvar] en met behulp van de laatste syntaxis, kunt u eigenschappen gebruiken die tekens bevatten die Javascript niet toestaat in de x.foo syntaxis.

Een eigenschapnaam kan elke tekenreekswaarde zijn.


Een array is een object, dus het heeft dezelfde mogelijkheden als een object plus een heleboel extra functies voor het beheren van een bestelde, sequentiële lijst met genummerde indexen beginnend vanaf 0 en tot op lengte gaan. Arrays worden meestal gebruikt voor een geordende lijst met items die toegankelijk zijn via een numerieke index. En omdat de array is besteld, zijn er veel nuttige functies om de volgorde van de lijst te beheren .sort() of om dingen uit de lijst toe te voegen of te verwijderen.


30
2017-11-04 06:26



Wanneer u verklaart

var a=[];

je declareert een lege array.

Maar als je aan het declareren bent

var a={};

je verklaart een voorwerp.

Hoewel Array ook Object in Javascript is, zijn dit numerieke sleutelparen. Welke alle functionaliteiten van het object hebben maar een paar methoden van Array zoals Push, Splice, Length enzovoort hebben toegevoegd.

Dus als u wilt Sommige waarden waarvoor u numerieke toetsen moet gebruiken, gebruikt u Array. anders gebruik object. je kunt een object maken zoals:

var a={name:"abc",age:"14"}; 

En kan toegang krijgen tot waarden zoals

console.log(a.name);

5
2017-11-04 06:17



var a = [];

het is gebruik voor haakjes voor een reeks eenvoudige waarden. bv.

var name=["a","b","c"]

var a={}

is ook gebruik voor waardearrays en objecten / eigenschappen. bv.

var programmer = { 'name':'special', 'url':'www.google.com'}

3
2017-11-04 06:30



Het kan als volgt worden begrepen:

var a= []; //creates a new empty array
var a= {}; //creates a new empty object

Je kunt dat ook begrijpen

var a = {}; is gelijk aan var a= new Object();

Notitie:

U kunt arrays gebruiken als u zich zorgen maakt over de volgorde van elementen (van hetzelfde type) in uw verzameling kunt u andere objecten gebruiken. In objecten is de bestelling niet gegarandeerd.


2
2017-11-04 06:18



ze zijn twee verschillende dingen ..

[] verklaart een array:
gegeven, een lijst met elementen die door een numerieke index worden bewaard.

{}is een nieuw object aan het declareren:
gegeven, een object met velden met namen en type + waarde,
sommigen beschouwen het graag als "Associative Array". maar zijn geen arrays, in hun representatie.

Je kunt meer lezen @ Dit artikel


1
2017-11-04 06:20



Syntaxis van JSON

object = {} | {members}

  • leden = paar | paar, leden
  • pair = string: waarde

array = [] | [elementen]

  • elementen = waarde | waarde elementen

waarde = koord | aantal | voorwerp | matrix | true | false | null


1
2017-11-04 06:29



In JavaScript lijken Arrays en Objects eigenlijk erg op elkaar, hoewel ze er aan de buitenkant een beetje anders kunnen uitzien.

Voor een array:

var array = [];
array[0] = "hello";
array[1] = 5498;
array[536] = new Date();

Zoals je kunt zien, kunnen arrays in JavaScript schaars zijn (geldige aanduidingen hoeven niet opeenvolgend te zijn) en ze kunnen ieder type variabele! Dat is best handig.

Maar zoals we allemaal weten is JavaScript raar, dus hier zijn enkele rare stukjes:

array["0"] === "hello"; // This is true
array["hi"]; // undefined
array["hi"] = "weird"; // works but does not save any data to array
array["hi"]; // still undefined!

Dit komt omdat alles in JavaScript een object is (daarom kunt u ook een array maken met new Array()). Als gevolg hiervan wordt elke index in een array omgezet in een tekenreeks en vervolgens opgeslagen in een object, dus een array is slechts een object waarvoor niemand iets mag opslaan met een sleutel die geen positief geheel getal is.

Dus wat zijn objecten?

Objecten in JavaScript zijn net als arrays, maar de 'index' kan elke tekenreeks zijn.

var object = {};
object[0] = "hello"; // OK
object["hi"] = "not weird"; // OK

U kunt er zelfs voor kiezen om de vierkante haken niet te gebruiken bij het werken met objecten!

console.log(object.hi); // Prints 'not weird'
object.hi = "overwriting 'not weird'";

Je kunt nog verder gaan en objecten definiëren zoals:

var newObject = {
    a: 2,
};
newObject.a === 2; // true

1
2017-11-04 06:38