0
   var array = new Array();
        $('body').find(".postitons").each(function(index, element) {
            newArray = new Array();

            $(element).find('tr').each(function(index, tr) {
                values = new Array();
                $(tr).find('td').each(function(index, td) {
                    text = $(td).text();
                    values.push(text.trim());

                })

                newArray[$(tr).attr('id')] = values;
                array[$(element).attr('id')] = newArray;
            });

        });
    console.log(JSON.stringify(array);

I'm trying to convert an array to json, but the result is [ ].

array looks like this

enter image description here

  • 1
    Use an object, not an array. – deceze Mar 21 '22 at 11:14
  • You're confusing arrays with objects – re-za Mar 21 '22 at 11:15
  • 2
    ...and although JavaScript arrays *are* objects and you can put non-element properties on them (like your `"Junior - buyer"` property), `JSON.stringify` ignores non-element properties because JSON's concept of arrays is more limited than JavaScript's. But I'm not saying JSON is wrong here; that code should be using an object (or a Map) instead of an array. (And since you want to use `JSON.stringify`, an object is a better choice, since `JSON.stringify` supports them directly whereas it doesn't support Map). – T.J. Crowder Mar 21 '22 at 11:17

0 Answers0