class SuperArray extends Array {
nonEmpty() {
return this.filter(e => e === 0 || (e && (!e.trim || e.trim())));
}
}
const myArr = new SuperArray();
myArr.push('', 1, ' ', 2, '3');
console.log( myArr.nonEmpty().join('-') ); // 1-2-3
.menu
, но зато без js.:) export const useStore = defineStore("Stores", () => {
const Json = reactive([
{
id: 1,
value: 0,
addPlus(id) {
this.value = this.value + 1;
},
addMinus(id) {
if (this.value > 0) {
this.value = this.value - 1;
}
},
image: "../img/juice_Ides.png",
quantity: "В наличии 5 шт",
name: "Хлеб Крестянский, 400г",
price: "56",
currency: "руб",
basket: "В корзину",
descr:
"Мука пшеничная хлебопекарная первого сорта, вода, мука ржаная хлебопекарная сеяная, сахар-песок, соль поваренная пищевая, солод ржаной, экстракт солодовый.",
},
{
id: 2,
value: 0,
addPlus(id) {
this.value = this.value + 1;
},
addMinus(id) {
if (this.value > 0) {
this.value = this.value - 1;
}
},
image: "../img/bread.png",
quantity: "В наличии 3 шт",
name: "Белый хлеб, 400г",
price: "59",
currency: "руб",
basket: "В корзину",
descr: "Белый хлеб",
}
]);
const Store = JSON.parse(localStorage.getItem("Json") ?? '{}');
Json.forEach((item) => {
if(Store[item.id] !== item.value)
item.value = Store[item.id];
});
watch(
Json,
(state) => localStorage.setItem("Json", JSON.stringify(
// сохраняем мы объетк вида {id: value}, потому что индексы в массиве нифига не надёжны
state.reduce((acc, item) => {
acc[item.id] = item.value;
return acc;
}, {})
)),
{ deep: true }
);
return {
Json,
};
});
preview it locally with npx serve .output/public
Нет смысла мучаться с "файловым" вариантом, если конечно не стоит какая-то мега-цель. Это потребует серьёзной ручной переработки, с которой никто вам не поможет потому что нафиг никому не надо.