Javascript map 2 arrays into 1 Object
27,507
Solution 1
I think thats a problem with the arrow-function - thats ES6-style. Try using a simple function:
testArr = riskNamesArr.map( function(x, i){
return {"name": x, "state": riskWorkflowStateArr[i]}
}.bind(this));
JSFiddle: https://jsfiddle.net/urbr49d3/
Solution 2
Safari for iOS does not yet support arrow functions () => {}
. Use a normal function function() {}
instead:
var riskWorkflowStateArr = this.riskWorkflowStateArr;
this.testArr = this.riskNamesArr.map(function(x, i) {
return {"name": x, "state": riskWorkflowStateArr[i]}
});
Edit: Changed invalid this
reference.
Author by
simplesystems
Updated on July 27, 2022Comments
-
simplesystems almost 2 years
I have to arrays (Name and State Array) and map them togther into one object with the attrbiutes name and state.
Array Name:
["Time", "Riskchanged", "Scope", "Risk4", "Test", "Test(2)"]
Array State:
["In Bearbeitung", "Abgeschlossen", "In Bearbeitung", "Abgeschlossen", "Geplant", "In Bearbeitung"]
Function:
this.testArr = this.riskNamesArr.map( (x, i) => { return {"name": x, "state": this.riskWorkflowStateArr[i]} });
This works perfect on all Desktop Browsers but unfortunately not on my iOS Safari Browser.. The mobile Browser just shows nothing if I add those lines..
So is there another approach to get the same result?