我必须将相似的数字组合到一个数组中。例如: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”?你能提供一个你希望最终状态看起来像什么的例子吗? –