#javascript #jquery
#javascript #jquery
Вопрос:
Есть ли способ преобразовать это:
$('#id').testfunction({
'source' : [
{'source':'pathimage.jpg','title':'Title 1','description':'This is a description 1.'},
{'source':'pathimage.jpg','title':'Title 2','description':'This is a description 2.'},
{'source':'pathimage.jpg','title':'Title 3','description':'This is a description 3.'},
{'source':'pathimage.jpg','title':'Title 4','description':'This is a description 4.'},
{'source':'pathimage.jpg','title':'Title 5','description':'This is a description 5.'}
]
});
Для простого динамического вывода:
$('#id').testfunction({
'source':[
$SOURCE
]
});
Я помещаю исходный код в массив и пытаюсь снова его сконструировать $SOURCE
. В $SOURCE
конечном итоге это должно выглядеть так:
$SOURCE = myArray[0], myArray[1], myArray[2], myArray[3], myArray[4];
Но именно запятая мешает работе переменной. Я не могу вставить запятую в переменную. Использование ","
не работает, поскольку распознает его как строку…
$SOURCE = myArray[s],;
Есть ли способ преобразовать это в рабочую переменную для динамического использования?
Комментарии:
1. Почему нет:
source: [myArray[0], myArray[1], myArray[2], myArray[3], myArray[4]]
или дажеsource: myArray
? Возможно, если вы предоставите дополнительную информацию о том, чего вы на самом деле хотите достичь, мы сможем дать более полезные ответы. Я не совсем уверен, чего вы хотите достичь.2. Похоже, это проблема XY .
3. это запятая, которая не позволяет динамически создавать ее, чтобы она работала. когда я помещаю все эти массивы вручную, это, конечно, просто работает.
Ответ №1:
Нет, потому что если $SOURCE
бы это был массив, то вы бы присваивали массив первому элементу source
параметра; и $SOURCE
не можете представить массив так, как вы ожидаете.
Не существует юридической конструкции, с помощью которой вы могли бы объединять переменные с помощью запятой.
Ответ №2:
Вы хотите поместить некоторые значения из одного массива в другой. Это должно сработать, но мне кажется немного глупым (или вы могли бы просто перебрать myArray, или вы могли бы просто сказать $SOURCE = myArray
):
$SOURCE = [];
$SOURCE.push(myArray[0]);
$SOURCE.push(myArray[1]);
$SOURCE.push(myArray[2]);
$SOURCE.push(myArray[3]);
$SOURCE.push(myArray[4]);
Ответ №3:
То, что вы ищете, называется макросом препроцессора. Они не существуют в javascript.