We aren't going to add a method to array for removing items at an index.
There is already a native method for this and it works just fine.

2009/8/6 Fábio M. Costa <fabiomco...@gmail.com>

> This addition can be discussed.I think that splice is kind of complicated
> for ppl who never saw it before, ive never seen it before javascript.
>
> Dont know, you have to convince the awesome guys upstairs.
>
>
> --
> Fábio Miranda Costa
> Solucione Sistemas
> Front-End Engineer
> http://meiocodigo.com
>
>
> On Thu, Aug 6, 2009 at 11:59 AM, Steve Onnis <st...@cfcentral.com.au>wrote:
>
>>
>> In addition you could make it easier to use like this
>>
>> Array.implement({
>>        deleteAt : function (index) {
>>                if (index > this.length-1) return;
>>                this.splice(index,1);
>>                }
>>        });
>>
>> And then just call....
>>
>>
>> test_array.deleteAt(0);
>>
>> To be honest I am very surprised something like this isnt already in the
>> framework
>>
>>
>> Another option also is to leave what you have and do this...
>>
>> delete test_array[0];
>> test_array.clean();
>>
>> I wouldn't but its an option
>>
>>
>> Steve
>>
>> -----Original Message-----
>> From: Steve Onnis [mailto:st...@cfcentral.com.au]
>> Sent: Friday, 7 August 2009 12:41 AM
>> To: mootools-users@googlegroups.com
>> Subject: [Moo] Re: each error on IE
>>
>>
>> In the instance you have provided below yes it will cause an error as by
>> the
>> time you loop over "test_array" the first index is no longer there and is
>> undefined.  Even though you are deleting it the length of the array is
>> still
>> 2 so the first time it loops, "item" will be undefined and because it is
>> undefined or whatever, the method "each()" is not available for a null
>> value.
>>
>> To do it properly you should use splice()
>> (
>> https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objec
>> ts/Array/splice<https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objec%0Ats/Array/splice>
>> )
>>
>> You should really tidy up your array creation also
>>
>>
>> // Create the arrays
>> array0 = ['00','01'];
>> array1 = ['10','11'];
>>
>> // COPY the arrays into new memory space to make sure
>> // dont have a conflict when you remove the array later
>> test_array = [$A(array0), $A(array1)] ;
>>
>> // Remove the first item in the array
>> test_array.splice(0,1)
>>
>> // Test output
>> test_array.each(function(items, row){
>>        items.each(function(i, r){
>>        document.write(r + " : " + i + "<br />" );
>>        });
>> });
>>
>>
>> Steve
>>
>>
>> -----Original Message-----
>> From: Shrike [mailto:martin.sile...@gmail.com]
>> Sent: Thursday, 6 August 2009 8:39 PM
>> To: MooTools Users
>> Subject: [Moo] each error on IE
>>
>>
>> Hello,
>>
>> can you help me to solve the IE error on this script?
>>
>> http://mooshell.net/gYxKu/
>>
>> no errors with firefox or chrome
>>
>> var array0 = new Array();
>> array0[0] = '00';
>> array0[1] = '01';
>>
>> var array1 = new Array();
>> array1[0] = '10';
>> array1[1] = '11';
>>
>> var test_array = new Array();
>>
>> test_array[0] = array0;
>> test_array[1] = array1;
>>
>> delete test_array[0];
>>
>> test_array.each(function(items, row){
>>
>>        items.each(function(i, r){ // IE error
>>
>>        alert(i);
>>
>>        });
>>
>> });
>>
>>
>>
>

Reply via email to