我必須將相似的數字組合到一個數組中。例如:Javascript - 相同的數字組合並將其存儲在state.item中
var original_Order_Items=[1,1,2,3,3];
這是我的原始數組。但我必須分裂這個陣列像
Order_Items_1= [ 1, 1 ];
Order_Items_2 = [ 2 ];
Order_Items_3 = [ 3, 3 ];
並將其保存在3 this.state.item。任何人都可以幫助我解決這個問題。
e.preventDefault();
var item = this.state.item;
var lines = item.order_items;
var lines = item.order_items.reduce((p, c) => {
const key = `Order_Items_${c.split_number}`;
p[key] = p[key] || [];
p[key].push(c)
this.setState({ item: item })
this.props.create(this.state.item);
return p;
}, {});
能夠用上面的代碼分開order_items。現在,我想根據const key = Order_Items_${c.split_number}
創建一個單獨的狀態;
我試着用this.setState({item:item})this.props.create(this.state.item);爲所有常見的const key創建一個common state.item = Order_Items_${c.split_number}
;
什麼問題?有什麼不行嗎? – Andy
是的,結果不正確。請找到正在使用的更新代碼。預期的結果是:Order_Items_1 = [1,1]; Order_Items_2 = [2]; Order_Items_3 = [3,3];取而代之的是:Order_Items_1 = [1]; Order_Items_2 = [2]; Order_Items_3 = [3]; – Karthikeyan
你是什麼意思的「並將其保存在3 this.state.item」?你能提供一個你希望最終狀態看起來像什麼的例子嗎? –