Вход

Просмотр полной версии : Не могу разобраться с двумерным массивом


pro_xaoc
09.06.2012, 16:39
Уважаемые знатоки, нужна Ваша помощь!
Я никак не могу разобраться с двумерным массивом. Привожу код:
$('#deleteFavoriteSites').click(function(){
var myArray = [];

$('.selectedLinks').each(function(){
var i = 0;
myArray[i][0] = [$(this).attr("href")];
myArray[i][1] = [$(this).attr("alt")];
i++;
})

$.post(site+"user/ajaxDeleteFavoriteSites", {},
function(data){

})
alert(myArray);
})
после того, как я кликну по кнопке, alert не выходит, а в консоли ошибок написано: can't convert undefined to object. Почему так? Заранее спасибо!

vadim5june
09.06.2012, 17:06
Попробуйте так
$('#deleteFavoriteSites').click(function(){
var myArray = []; var i = 0;

$('.selectedLinks').each(function(){
myArray[i]=[];
myArray[i][0] = [$(this).attr("href")];
myArray[i][1] = [$(this).attr("alt")];
i++;
})

$.post(site+"user/ajaxDeleteFavoriteSites", {},
function(data){

})
alert(myArray);
})

pro_xaoc
10.06.2012, 10:46
vadim5june,
спасибо! работает, только вот его смысл мне не очень понятен ...

Deff
10.06.2012, 11:13
pro_xaoc,
Вы не определили что каждый элемент массива - есть тоже массив,
vadim5june же , указал это данным оператором
myArray[i]=[];

frant32
10.06.2012, 11:36
Deff а , var i = 0; обязатешльно должна быть глобальной для $('.selectedLinks').each(function(){ ?

Deff
10.06.2012, 11:49
frant32,
Нет, можно еще заглубить i ,

$('#deleteFavoriteSites').click(function(){
var myArray = [];

$('.selectedLinks').each(function(i){
myArray[i]=[];
myArray[i][0] = [$(this).attr("href")];
myArray[i][1] = [$(this).attr("alt")];
i++;
})

$.post(site+"user/ajaxDeleteFavoriteSites", {},
function(data){

})
alert(myArray);
})

pro_xaoc
10.06.2012, 12:11
Deff,
спасибо! теперь понял почему vadim5june так сделал :)