Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

felipedrumond

Array

Recommended Posts

Olá pessoal. Estou tendo um problema com Array. Se eu tenho um array com 10 objetos e delete 1, ele não passa a ter 9 posições, ele apenas perde o objeto que estava na posição em que dei o delete. Alguém sabe como fazer com que o array seja redimensionado ao ocorrer o delete de uma posição?

Compartilhar este post


Link para o post
Compartilhar em outros sites

nunca fiz isso com javascript...Só com ASP e não deve ser a mesma coisa...

Compartilhar este post


Link para o post
Compartilhar em outros sites

um exemplo:

 

<!-- TWO STEPS TO INSTALL MODIFY ARRAY:

 

  1.  Copy the coding into the HEAD of your HTML document

  2.  Add the last code into the BODY of your HTML document  -->

 

<!-- STEP ONE: Paste this code into the HEAD of your HTML document  -->

 

<HEAD>

 

<script LANGUAGE="JavaScript">

 

<!-- This script and many more are available free online at -->

<!-- The JavaScript Source!! http://javascript.internet.com -->

 

<!-- Begin

var letterArray = new Array("A","B","C","D","E");

 

function addElement(array) {

size = array.length;

addindex = parseInt(prompt("Please enter the element index where you would like to add an item.",""));

validNo = (addindex != "NaN");

inRange = ( (addindex >= 0) && (addindex <= array.length+1) );

if (validNo && inRange) {

addvalue = prompt("Please enter the value to be added as element index " + addindex + ".","");

for (var i=array.length+1; i>addindex; i--) array = array[i-1];

array[addindex] = addvalue;

array.length = array.length-1;

showArray(array);

}

else alert("You only add element indexes between 0 and " + (size) + ".");

}

 

function deleteElement(array) {

size = array.length;

delindex = parseInt(prompt("Please enter the element index of the item to remove.",""));

validNo = (delindex != "NaN");

inRange = ( (delindex >= 0) && (delindex <= array.length) );

 

if (validNo && inRange) {

for (var i=0; i<=size; i++)

array = ((i == delindex) ? "delete" : array);

for (var j=delindex; j<size-1; j++)

if (j != size) array[j] = array[j+1];

array.length = size-1;

alert("Element index " + delindex + " has been removed.  The other elements have moved to fill the spot.");

showArray(array);

}

else alert("You only delete from element index 0 to " + (size-1) + ".");

}

 

function showArray(array) {

arraytext = "";

for (var i=0; i<array.length; i++) {

arraytext += "Element Index " + i + ":  " + array + "\n";

}

document.form.text.value = arraytext;

}

//  End -->

</script>

</HEAD>

 

<!-- STEP TWO: Copy this code into the BODY of your HTML document  -->

 

<BODY>

 

<center>

<form name=form>

 

<input type=button value="Show Array" onClick="java script:showArray(letterArray)"><br>

<input type=button value="Add Element" onClick="java script:addElement(letterArray)"> 

<input type=button value="Delete Element" onClick="java script:deleteElement(letterArray)"><br>

 

<br>

<textarea name="text" rows=20 cols=60></textarea>

</form>

</center>

 

<p><center>

<font face="arial, helvetica" size="-2">Free JavaScripts provided<br>

by <a href="http://javascriptsource.com">The JavaScript Source</a></font>

</center><p>

 

<!-- Script Size:  2.41 KB -->

 

referência:

 

http://javascript.internet.com/messages/modify-array.html

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.