Доступ к проблеме объекта js - PullRequest
0 голосов
/ 24 июня 2019

Я создал объект available_categories ({категория: пальто-и-куртки}) и другой объект category_names_for_display ({пальто-и-куртки: пальто и куртки}).

Намерение состоит в том, чтобы использовать «ключ» (пальто и куртки) из цикла available_categories, чтобы получить category_name_for_display (пальто и куртки) из второго объекта.

// build array of available categories
var obj = available_categories.find(o=>o.category === cat);
if (!(obj) && cat && cat.length > 0) {
    available_categories.push({
        category: cat
    });
}
//console.log('ac=' + available_categories);

// build array of category_names_for_display  
var obj = category_names_for_display.find(o=>o.cat === category_name_for_display);
if (!obj && cat && cat.length > 0 && category_name_for_display) {
    console.log('cat = ' + cat + 'cnfd= ' + category_name_for_display);

var arr = {};
arr[cat] = category_name_for_display;
category_names_for_display.push(arr);

new_var = category_names_for_display['cat'];
console.log('this  ' + new_var);
}
if (available_categories.length > 0) {

    //loop through the array to output more data
    $.each(available_categories, function(k , v) 
    {

        $.each(this, function(k , v) 
        {
            var checked_status = '';
            var selected_option_number = '';
            var undo_label = '';
            console.log('k=   ' + k + 'V=   ' + v);

            // here is where I have something wrong :(
            var catego = category_names_for_display['v'];

        }

    }

}

Я только получаю консоль, чтобы показать, что значение не определено. Мне нужно, чтобы категория_имя_дисплея была Coats & Jackets.

Ответы [ 2 ]

0 голосов
/ 24 июня 2019

category_names_for_display является array, и ошибка в том, что вы пытаетесь получить доступ к category_names_for_display как object

Вы можете изменить свой код, как показано ниже, чтобы ваш var catego store corect вещь

 $.each(this, function(k , v)
{
    var checked_status = '';
    var selected_option_number = '';
    var undo_label = '';
    console.log('k=   ' + k + 'V=   ' + v);

    var catego = category_names_for_display.find(item => item === v);

}
0 голосов
/ 24 июня 2019

Просто попробуйте создать объект и нажмите.

if ( !obj && cat && cat.length > 0 && category_name_for_display )
{
  var arr = {};
  arr[cat] = category_name_for_display;
  category_names_for_display.push(arr);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...