Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Не могу разобраться с двумерным массивом (https://javascript.ru/forum/jquery/28978-ne-mogu-razobratsya-s-dvumernym-massivom.html)

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 так сделал :)


Часовой пояс GMT +3, время: 22:31.