Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.08.2018, 12:57
Аспирант
Отправить личное сообщение для Самовар Посмотреть профиль Найти все сообщения от Самовар
 
Регистрация: 28.03.2017
Сообщений: 31

Передача имени массива через параметр функции
есть функция вида
function gamePlayersStart(){
for (var i = 0; i < fieldSizeX * fieldSizeY - 3; i++){


playerUnits[i] = new Image();
playerUnits[i].gameCoordX = a;
playerUnits[i].gameCoordY = b;
//fieldHex[i][j].gameNumber = i + '' + j + '';
playerUnits[i].owner = "player";
playerUnits[i].width = hexSize/1.5;
playerUnits[i].height = hexSize/1.5;
playerUnits[i].style.position = "absolute";
playerUnits[i].style.left = +fieldHex[a][b].style.left.slice(0, -2) + hexSize/4 + 'px';
playerUnits[i].style.top = +fieldHex[a][b].style.top.slice(0, -2) + hexSize/4 + 'px';
playerUnits[i].onclick = test;        
playerUnits[i].src = "image/infantry.png";
document.body.appendChild(playerUnits[i]);
fieldHex[a][b].src = "image/hex_blue.png";
}

}


необходимо сделать её универсальной, чтобы имя массива playerUnits[i] можно было передать при вызове функции, примерно так gamePlayersStart(name). И масив получался вот такой name[i]= new Image(); и тд. Потому что писать для каджого игрока отдельную функцию это грех.
Ответить с цитированием
  #2 (permalink)  
Старый 24.08.2018, 12:59
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

function gamePlayersStart(playerUnits){
Ответить с цитированием
  #3 (permalink)  
Старый 24.08.2018, 13:02
Аспирант
Отправить личное сообщение для Самовар Посмотреть профиль Найти все сообщения от Самовар
 
Регистрация: 28.03.2017
Сообщений: 31

эта мысль пришла первой, но не работает. Не принимает массив вот такой параметр как своё имя
Ответить с цитированием
  #4 (permalink)  
Старый 24.08.2018, 13:06
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

Самовар,
var arr = [1,2,3];
var arr1 = [4,5,6];
function fn(arr){
	alert(arr);
}
fn(arr);
fn(arr1);


принимает!
Ответить с цитированием
  #5 (permalink)  
Старый 24.08.2018, 13:18
Аспирант
Отправить личное сообщение для Самовар Посмотреть профиль Найти все сообщения от Самовар
 
Регистрация: 28.03.2017
Сообщений: 31

это другое. У вас параметр функции массив. Мне нужно, чтобы параметр функции принимался как имя массива в функции.
gamePlayersStart(name) { ... name[i] = 111; ... } чтобы при вызове функций gamePlayersStart(name1), gamePlayersStart(name2), gamePlayersStart(name3) создались три разных массива name1, name2 и name3.
Ответить с цитированием
  #6 (permalink)  
Старый 24.08.2018, 13:19
Аспирант
Отправить личное сообщение для Самовар Посмотреть профиль Найти все сообщения от Самовар
 
Регистрация: 28.03.2017
Сообщений: 31

чтобы не создвать 3 функции для трех массивов, а 1 функция создавал 3 разных массива в зависимости от имени массива, переданного в параметре функции name
Ответить с цитированием
  #7 (permalink)  
Старый 24.08.2018, 13:27
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

function fn(){
i = 1;
window['playerUnits'+i] = [1,2,3];
}
fn();
alert(playerUnits1)


для глобальной области
Ответить с цитированием
  #8 (permalink)  
Старый 24.08.2018, 13:28
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Самовар,
может тогда лучше один объект, в котором аргумент свойства его, а массивы значения этих свойств?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужна помощь в создании двумерного массива через завыкание JStudent Общие вопросы Javascript 5 11.04.2018 08:18
Передача строкового параметра функции в виде цифр artur'chik Общие вопросы Javascript 11 15.06.2014 21:33
передача функции с параметрами в функцию oli Общие вопросы Javascript 3 09.08.2012 13:52
Передача массива, через сокет yello Серверные языки и технологии 2 30.10.2009 18:41
XMLHTTPRequest передача имя через POST dds AJAX и COMET 0 14.08.2008 14:44