У меня есть массив массивов, заполненный из C # Модель:
var AllObjectsArray = [];
@foreach(var Cobject in Model.ObjectList)
{
@:AllObjectsArray.push(new Array("@Cobject.Name", "@Cobject.Value", "@Cobject.Keyword"));
}
var SelectedObjects = [];
uniqueobj.forEach(function (element) {
SelectedObjects.push(new Array(AllObjectsArray.filter(elem => elem[0] === element))); //makes array of selected objects with their values(name,value,keyword)
});
Я пытаюсь получить второй параметр каждого внутреннего массива и добавить его в новый массив, содержащий такие элементы, как это:
var ValuesArray = [];
for (i = 0; i < SelectedObjects.length; i++) {
ValuesArray.push(SelectedObjects[i][0]) //problem here i think
};
К сожалению, на:
alert(ValuesArray + " : " + SelectedObjects);
Я ничего не получу за ValuesArray
. Другие данные для SelectedObjects
загружаются правильно, все три параметра правильно возвращаются для каждого внутреннего массива, поэтому они не пусты. Я, должно быть, ошибаюсь.
EDIT:
Еще больше информации, так как я не понимаю, что мне нужно.
Допустим, SelectedObjects [] содержит две записи, подобные этой:
{ name1, number1, keyword1}
{ name2, number2, keyword2}
Теперь мне нужно заполнить ValuesArray
nane1
и name2
.
Вот почему я угадал, что мне нужно перебрать SelectedObjects
и получить SelectedObject[i][0]
, где в моем угадывании i
обозначает индекс внутреннего массива, а 1
обозначает числовую часть этого внутреннего массива. Пожалуйста, поправьте меня и поставьте меня в правильном направлении, так как я догадываюсь из C # способа кодирования, как обернуть мою голову вокруг JS
Однако SelectedObject [i] [0] дает мне весь SelectedObject со всеми тремя свойствами (имя, значение и ключевое слово), и я должен получить только часть имени внутреннего массива.
Что здесь происходит?
Надеюсь, на этот раз я объяснил себя лучше.
EDIT:
Мне кажется, я знаю, почему это происходит, поскольку SelectedObjects [i] [0] возвращает весь внутренний массив, а SelectedObjects [i] [1] возвращает ноль, это должно означать, что SelectedObjects не является массивом массивов, а массивом строк, соединенных с запятые.
Есть ли способ обойти это? Можно ли создать массив массивов по-разному или разделить внутренний объект по запятым и повторить возвращаемые строки?