Вы можете map
пройти через массив объектов и, используя destructer
, получить desired key's value
и вернуть их как объект в соответствии с вашей парой key value
.
let obj = [{"id": "8","name": "Austin to Carls 32 to 33 chocolates to oil","price": "9.67","category": "oils", "description": "The standard Lorem Ipsum passage, used since the 1500s Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.Ut enim ad minim veniam,quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore e", "ts": "2019-01-08 11:47:09", "product_image_id": "33", "enabled": "1","product_image": "crater-winslow-40.png", "counter": 3}, {"id": "9","name": "something test 3 upd","price": "12.23","category": "chocolates","description": "The standard Lorem Ipsum passage, used since the 1500s Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididu", "ts": "2019-01-08 08:54:49", "product_image_id": "29", "enabled": "1", "product_image": "40-64-grand-canyon.png","counter": 2}]
let op = obj.map(e=>{
let {counter,id,name,price,description} = e;
return{
name,price,description,
quantity: counter,
sku: id,
}
})
console.log(op)
Переносимые идентификаторы printf предоставлены в включаемом файле inttypes.h
.
Этот включаемый файл имеет множество переносимых идентификаторов для вашей конкретной среды выполнения. В вашем примере вам нужен PRIuPTR, что означает « PR intf I dentifier u nsigned с размером до размера указателя».
Ваш пример тогда будет:
printf("The amount of RAM used is %" PRIuPTR, anIntVariable*sizeof(double) );
Результаты на 64-битной Linux с GCC 4.3 ( int anIntVariable = 1
):
$ gcc test.c -m32 -o test && ./test
The amount of RAM used is 8
$ gcc test.c -o test && ./test
The amount of RAM used is 8
Для полноты картины существуют идентификаторы также для scanf с префиксом SCN.
Возвращаемое значение sizeof - size_t. Если вы используете компилятор, совместимый с C99, похоже, что для этого вы можете использовать %zd
strike> %zu
.
D'Oh: %zu
(без знака), конечно. Спасибо, только.
Прежде всего, вы должны сопоставить Спецификатор "%" с фактическим типом данных, который вы хотите напечатать. sizeof возвращает тип данных size_t , и точно так же, как вы не должны пытаться напечатать число с плавающей запятой с помощью спецификатора "% d", вы не должны пытаться напечатать size_t с помощью " % u "или"% d "или что-нибудь, что на самом деле не означает size_t.