En PHP, me gustaría hacer algo como:Añadir nuevo valor a un array existente en JavaScript
$array = array();
$array[] = "value1";
$array[] = "value2";
$array[] = "value3";
¿Cómo voy a hacer lo mismo en JavaScript?
En PHP, me gustaría hacer algo como:Añadir nuevo valor a un array existente en JavaScript
$array = array();
$array[] = "value1";
$array[] = "value2";
$array[] = "value3";
¿Cómo voy a hacer lo mismo en JavaScript?
No necesita jQuery para eso. Usar javascript regulares
var arr = new Array();
// or var arr = [];
arr.push('value1');
arr.push('value2');
Nota: En Javascript, también se puede utilizar objetos como matrices, pero todavía tienen acceso a los prototipos de matriz. Esto hace que el objeto se comporta como una matriz:
var obj = new Object();
Array.prototype.push.call(obj, 'value');
creará un objeto que se parece a:
{
0: 'value',
length: 1
}
Puede acceder a los vaules al igual que una variedad normal de f.ex obj[0]
.
que es exactamente cómo funciona el objeto "jQuery" devuelto por '$()' –
Bueno, estoy seguro de que hay un complemento que le permite hacer eso con jQuery: P –
¿Qué tal ''] en lugar de 'nueva matriz() 'y' {} 'en lugar de' new Object() '... – James
Puede utilizar el .push()
método (que es estándar JavaScript)
por ejemplo
var primates = new Array();
primates.push('monkey');
primates.push('chimp');
Esto no tiene nada que ver con jQuery, solo JavaScript en general.
para crear una matriz de JavaScript:
var a = [];
O:
var a = ['value1', 'value2', 'value3'];
para anexar los valores en el extremo de la matriz existente:
a.push('value4');
Para crear una nueva matriz, realmente debería usar []
en lugar de new Array()
por las siguientes razones:
new Array(1, 2)
es equivalente a [1, 2]
, pero es new Array(1)
no equivalente a [1]
. Más bien, el último está más cerca de [undefined]
, ya que un único argumento entero para el constructor Array
indica la longitud de matriz deseada.Array
, al igual que cualquier otra clase incorporada de JavaScript, no es una palabra clave. Por lo tanto, alguien podría definir fácilmente Array
en su código para hacer algo más que construir una matriz.+1 para '[]' en lugar de 'new Array()'. – BalusC
array = ["value1", "value2", "value3"]
que no es tanto como jQuery JavaScript
que no * agrega * ningún valor a una matriz, eso está creando una matriz con algunos valores que ya están en ella. – nickf
No me gustaría menospreciarlo, pero gracias por al menos explicar tu opinión –
jQuery es una abstracción de JavaScript. Piense en jQuery como un subconjunto de JavaScript, destinado a trabajar con el DOM. Habiendo dicho eso; hay funciones para agregar artículo (s) a una colección. Aunque usaría JavaScript básico en su caso:
var array;
array[0] = "value1";
array[1] = "value2";
array[2] = "value3";
...O:
var array = ["value1", "value2", "value3"];
... O:
var array = [];
array.push("value1");
array.push("value2");
array.push("value3");
Lo llamaría un "marco" ... y tampoco es un subconjunto. – mpen
Debe inicializar la variable 'array' a un objeto' Array' en su primer ejemplo; de lo contrario, 'undefined' y no podrá invocar' push' en él. –
@Ionut G. Stan: estoy inicializando la matriz haciendo 'var array = [];' – roosteronacid
array es un objeto nativo de JavaScript, ¿por qué no sólo tratar de utilizar la API de ella? Conocer API por sí mismo le ahorrará tiempo cuando cambie a JavaScript puro u otro marco.
Existen varias posibilidades diferentes, por lo tanto, use la que más se ajuste a sus necesidades.
Creación de matriz con valores:
var array = ["value1", "value2", "value3"];
Adición de valores al final
var array = [];
array.push("value1");
array.push("value2");
array.push("value3");
Adición de valores a los de empezar:
var array = [];
array.unshift("value1");
array.unshift("value2");
array.unshift("value3");
valores Agregando en algún índice:
var array = [];
array[index] = "value1";
o mediante el uso de empalme
array.splice(index, 0, "value1", "value2", "value3");
Elija uno necesita.
El que tiene índices no funciona para mí. Lo estoy usando dentro de una función de mapa $ ('select [id^= "filter _"]'). Map (function() { var name = $ (this) .prop ('name'); filters [name] = $ (this) .val(); –
Hay varias maneras:
instancia del array:
var arr;
arr = new Array(); // empty array
// ---
arr = []; // empty array
// ---
arr = new Array(3);
alert(arr.length); // 3
alert(arr[0]); // undefined
// ---
arr = [3];
alert(arr.length); // 1
alert(arr[0]); // 3
Empujar a la matriz:
arr = [3]; // arr == [3]
arr[1] = 4; // arr == [3, 4]
arr[2] = 5; // arr == [3, 4, 5]
arr[4] = 7; // arr == [3, 4, 5, undefined, 7]
// ---
arr = [3];
arr.push(4); // arr == [3, 4]
arr.push(5); // arr == [3, 4, 5]
arr.push(6, 7, 8); // arr == [3, 4, 5, 6, 7, 8]
Usando .push()
es la mejor manera de añadir a una matriz, ya que no necesita saber cuántos elementos ya están allí, un d puede agregar muchos elementos en una llamada a función.
De hecho, debe inicializar su matriz y luego utilizar la línea de comandos array.push().
var array = new Array();
array.push("first value");
array.push("second value");
jQuery no es un idioma; JavaScript es. – mpen
http://i.stack.imgur.com/ssRUr.gif – Broxzier
@ChrisB - para aquellos que se preguntan, Javascript es el lenguaje utilizado para implementar el glorioso JQuery. – Davor