wp query – WooCommerce get all products with SKU

I want to get a list of products with sku and post id with this code, everything seems fine and ok with this code :

$statuses = array('publish', 'draft');

// Args on the main query for WC_Product_Query
$args = (
    'status'    => $statuses,
    'orderby'   => 'name',
    'order'     => 'ASC',
    'limit'     => -1,
);

$vendor_products = wc_get_products($args);

$list_array = array();

foreach ($vendor_products as $key => $product) {

    if ($product->get_type() == "variable") {

        // Args on product variations query for a variable product using a WP_Query
        $args2 = array( 
            'post_parent' => $product->get_id(), 
            'post_type'   => 'product_variation', 
            'orderby'     => array( 'menu_order' => 'ASC', 'ID' => 'ASC' ), 
            'fields'      => 'ids', 
            'numberposts' => -1, 
        ); 

        foreach ( get_posts( $args2 ) as $child_id ) {
            // get an instance of the WC_Variation_product Object
            $variation = wc_get_product( $child_id ); 

            if ( ! $variation || ! $variation->exists() ) {
                continue;
            }

            $list_array() = array(
                'sku'      => $variation->get_sku(),
                'postid'   => $variation->get_id()
            );
        }

    } else {

        $list_array() = array(
            'sku'      => $product->get_sku(),
            'postid'   => $product->get_id()
        );

    }
}

I have total 1660 (470 published and 1,190 drafted) products but it’s just returns 501 products and i don’t know why!

this is my products in woocommerce:
this is my products in woocommerce

this is the final result of query :
enter image description here