this
в Javascript всегда ссылается на «владельца» выполняемой функции.
Если явный владелец не определен, то ссылается на самый верхний владелец - объект окна.
Итак, если бы я сделал
function someKindOfFunction() {
this.style = 'foo';
}
element.onclick = someKindOfFunction;
this
, он ссылался бы на объект элемента. Но будьте осторожны, многие люди делают эту ошибку
<element onclick="someKindOfFunction()">
В последнем случае вы просто ссылаетесь на функцию, а не передаете ее элементу. Поэтому this
будет ссылаться на объект окна.
Не могли бы вы опубликовать пример вашего кода и массива объектов. Это поможет нам понять проблему, чтобы мы могли ее решить.
Вы также можете посмотреть на пост ниже. Это может помочь вашему делу.
Разница между Array.CopyTo () и Array.CloneTo ()
РЕДАКТИРОВАТЬ:
var foo = new String[] {"ab" , "cd", "ef"} ;
var bar = new List<string>();
foreach(var item in foo)
{
bar.Add(item);
}
var barArray = bar.ToArray();
for(int i = 0; i < foo.Length; i++)
{
Console.WriteLine(foo[i]);
Console.WriteLine(barArray[i]);
}
Приведенный выше код использует список и массивы, поскольку Таким образом, вам не придется индексировать ваш дубликат массива. Вы можете запустить код в dot net fiddle, чтобы увидеть результат. В этом примере я использовал строку, пожалуйста, замените ее на свой объект.
Полагаю, когда вы закончили установку текстов для ansButtons
, теперь вы просто хотите отобразить одинаковые тексты с обеих сторон, верно?
for(int i = 0; i < ansButtons; i++)
{
// get the GameObjects
var ansButton = ansButtons[i];
var ansDuelButton = ansButtonsDuel[i];
// get the Text components
var ansText = ansButton.GetComponentInChildren<Text>(true);
var duelText = ansDuelButton .GetComponentInChildren<Text>(true);
// copy the text over
duelText.text = ansText.text;
}
Я полагаю, конечно, у вас есть все ссылки в [112 ] и ansButtonsDuel
, например, через инспектора или пока Instantiate
объекты.