如何在离子2中添加两个阵列数据
我是Ionic 2的新手。我想根据它们的位置添加数组元素。例如: :我有2个数组。如何在离子2中添加两个阵列数据
标贴:[而百合,非洲菊,非洲菊,而百合,玫瑰,玫瑰]
数据:[10,20,10,30,20,10]
现在我想从标签[]删除冗余并希望从数据添加它们的值[]
我最后的阵列应该是
个标签:[而百合,非洲菊,玫瑰]
数据:[40,30,30]
我已经从Json的提取的数据这种类型的:
var qp = []
for (var i of res.data) {
qp.push(i.quantity_produced);
console.log(res.data);
console.log(qp);
var name = []
for (var i of res.data) {
name.push(i.product);
var s= [new Set(name)];
console.log(res.data);
console.log(name);
试试这个:
let labels = ['Lillium', 'Gerbera', 'Gerbera', 'Lillium', 'Rose', 'Rose'];
let Data = [10, 20, 10, 30, 20, 10];
//for each unique label....
let result = [...new Set(labels)]
//... get each occurence index ...
.map(value => labels.reduce((curr, next, index) => {
if (next == value)
curr.push(index);
return curr;
}, []))
//... and reducing each array of indexes using the Data array gives you the sums
.map(labelIndexes => labelIndexes.reduce((curr, next) => {
return curr + Data[next];
}, 0));
console.log(result);
基于您的评论看来,事情可以做了很多更容易
let data = [{product: 'Lillium',quantity_produced: 10}, {product: 'Gerbera',quantity_produced: 20},{product: 'Gerbera',quantity_produced: 10}, {product: 'Lillium',quantity_produced: 30}, {product: 'Rose',quantity_produced: 20}, {product: 'Rose',quantity_produced: 10}];
let result = data.reduce((curr, next) => {
curr[next.product] = (curr[next.product] || 0) + next.quantity_produced;
return curr;
}, {});
console.log(result);
我已经提取标签并且这种类型的数据:var qp = [] for(var i of res.data){ qp.push(i.quantity_produced); console.log(res.data); console.log(res.data); var name = [] for(var i of res.data){ name.push(i.product); var s = [new Set(name)]; console.log(res.data); @ Vanojx1 –
但先生我们的数据是来自json的动态数据。正如你所建议的,这对静态数组非常有用。这是我的json链接:http://factoryunlock.in/sundar/public/api/v1/production @ Vanojx1 sir –
您的数据可以是动态的,只需将我的示例中的数据替换为json中的数据.... [检查此](https://jsfiddle.net/2g31rta9/) – Vanojx1
请告诉我数据和标签之间的关系? – Abdel
每个标签都有价值吗?因为这个结构很混乱,所以最好使用一组对象。另外,为了避免冗余,您可以使用JavaScript'Sets'确保唯一性。 – Abdel
他们在提供名称和生产花卉的单个json –