React native - Iterating using MAP
up vote
0
down vote
favorite
Not sure what's wrong, but I've this json...
CONTENT = {
"pages": {
 "p1": 
 "backgroundImage": require("../assets/pageBkgs/p1.png"),
 "backgroundColor": "#FF0000",
 "elements": [
 
 "jumpTo": 
 "left": 500,
 "top": 500,
 "width": 100,
 "height": 100,
 "target": "p3"
 ,
 "video" : 
 "left": 200,
 "top": 200,
 "width": 100,
 "height": 100,
 "file": require("../assets/videos/limenice.mp4")
 
 
 ]
 
and this should be iterate an return accordly:
<View style=styles.pageContainer>
 
 CONTENT.pages[pageKey].elements.map(element => 
 const type = Object.keys(element).toString()
 alert(Object.keys(element).toString())
 switch (type) 
 case "jumpTo":
 return JumpTo(Object.values(element)[0], this.executeJumpTo.bind(this), CONTENT.designTime)
 break
 case "video":
 return VideoPlayer(Object.values(element)[0], CONTENT.designTime)
 break
 default:
 return null
 
 )
 
 </View>)
The alert show: "jumpTo,video"
I am trying to archive something like...
for(let i=0; i < CONTENT.pages[pageKey].elements.length;i++) 
 switch (Object.keys(CONTENT.pages[pageKey].elements[i]).toString()) 
 case "jumpTo":
 return JumpTo(Object.values(element)[0], this.executeJumpTo.bind(this), CONTENT.designTime)
 break
 case "video":
 return VideoPlayer(Object.values(element)[0], CONTENT.designTime)
 break
 default:
 return null
 
where I am expecting a result of 2 alerts: jumpTo and video (instead both separated by comma)
Any clue ? I think it's a basic functional programming issue.
react-native
add a comment |
up vote
0
down vote
favorite
Not sure what's wrong, but I've this json...
CONTENT = {
"pages": {
 "p1": 
 "backgroundImage": require("../assets/pageBkgs/p1.png"),
 "backgroundColor": "#FF0000",
 "elements": [
 
 "jumpTo": 
 "left": 500,
 "top": 500,
 "width": 100,
 "height": 100,
 "target": "p3"
 ,
 "video" : 
 "left": 200,
 "top": 200,
 "width": 100,
 "height": 100,
 "file": require("../assets/videos/limenice.mp4")
 
 
 ]
 
and this should be iterate an return accordly:
<View style=styles.pageContainer>
 
 CONTENT.pages[pageKey].elements.map(element => 
 const type = Object.keys(element).toString()
 alert(Object.keys(element).toString())
 switch (type) 
 case "jumpTo":
 return JumpTo(Object.values(element)[0], this.executeJumpTo.bind(this), CONTENT.designTime)
 break
 case "video":
 return VideoPlayer(Object.values(element)[0], CONTENT.designTime)
 break
 default:
 return null
 
 )
 
 </View>)
The alert show: "jumpTo,video"
I am trying to archive something like...
for(let i=0; i < CONTENT.pages[pageKey].elements.length;i++) 
 switch (Object.keys(CONTENT.pages[pageKey].elements[i]).toString()) 
 case "jumpTo":
 return JumpTo(Object.values(element)[0], this.executeJumpTo.bind(this), CONTENT.designTime)
 break
 case "video":
 return VideoPlayer(Object.values(element)[0], CONTENT.designTime)
 break
 default:
 return null
 
where I am expecting a result of 2 alerts: jumpTo and video (instead both separated by comma)
Any clue ? I think it's a basic functional programming issue.
react-native
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
Not sure what's wrong, but I've this json...
CONTENT = {
"pages": {
 "p1": 
 "backgroundImage": require("../assets/pageBkgs/p1.png"),
 "backgroundColor": "#FF0000",
 "elements": [
 
 "jumpTo": 
 "left": 500,
 "top": 500,
 "width": 100,
 "height": 100,
 "target": "p3"
 ,
 "video" : 
 "left": 200,
 "top": 200,
 "width": 100,
 "height": 100,
 "file": require("../assets/videos/limenice.mp4")
 
 
 ]
 
and this should be iterate an return accordly:
<View style=styles.pageContainer>
 
 CONTENT.pages[pageKey].elements.map(element => 
 const type = Object.keys(element).toString()
 alert(Object.keys(element).toString())
 switch (type) 
 case "jumpTo":
 return JumpTo(Object.values(element)[0], this.executeJumpTo.bind(this), CONTENT.designTime)
 break
 case "video":
 return VideoPlayer(Object.values(element)[0], CONTENT.designTime)
 break
 default:
 return null
 
 )
 
 </View>)
The alert show: "jumpTo,video"
I am trying to archive something like...
for(let i=0; i < CONTENT.pages[pageKey].elements.length;i++) 
 switch (Object.keys(CONTENT.pages[pageKey].elements[i]).toString()) 
 case "jumpTo":
 return JumpTo(Object.values(element)[0], this.executeJumpTo.bind(this), CONTENT.designTime)
 break
 case "video":
 return VideoPlayer(Object.values(element)[0], CONTENT.designTime)
 break
 default:
 return null
 
where I am expecting a result of 2 alerts: jumpTo and video (instead both separated by comma)
Any clue ? I think it's a basic functional programming issue.
react-native
Not sure what's wrong, but I've this json...
CONTENT = {
"pages": {
 "p1": 
 "backgroundImage": require("../assets/pageBkgs/p1.png"),
 "backgroundColor": "#FF0000",
 "elements": [
 
 "jumpTo": 
 "left": 500,
 "top": 500,
 "width": 100,
 "height": 100,
 "target": "p3"
 ,
 "video" : 
 "left": 200,
 "top": 200,
 "width": 100,
 "height": 100,
 "file": require("../assets/videos/limenice.mp4")
 
 
 ]
 
and this should be iterate an return accordly:
<View style=styles.pageContainer>
 
 CONTENT.pages[pageKey].elements.map(element => 
 const type = Object.keys(element).toString()
 alert(Object.keys(element).toString())
 switch (type) 
 case "jumpTo":
 return JumpTo(Object.values(element)[0], this.executeJumpTo.bind(this), CONTENT.designTime)
 break
 case "video":
 return VideoPlayer(Object.values(element)[0], CONTENT.designTime)
 break
 default:
 return null
 
 )
 
 </View>)
The alert show: "jumpTo,video"
I am trying to archive something like...
for(let i=0; i < CONTENT.pages[pageKey].elements.length;i++) 
 switch (Object.keys(CONTENT.pages[pageKey].elements[i]).toString()) 
 case "jumpTo":
 return JumpTo(Object.values(element)[0], this.executeJumpTo.bind(this), CONTENT.designTime)
 break
 case "video":
 return VideoPlayer(Object.values(element)[0], CONTENT.designTime)
 break
 default:
 return null
 
where I am expecting a result of 2 alerts: jumpTo and video (instead both separated by comma)
Any clue ? I think it's a basic functional programming issue.
react-native
react-native
asked Nov 8 at 14:17
Marco Jr
1,66872346
1,66872346
add a comment |
add a comment |
 1 Answer
 1
 
active
oldest
votes
up vote
0
down vote
To get two subsequent alerts:
Object.keys(CONTENT.pages[pageKey].elements).each(type => alert(type));
To return two subsequent components [JumpTo, VideoPlayer]:
 Object.keys(CONTENT.pages[pageKey].elements).map(type => switch(type) 
 /* your case statements */
); 
add a comment |
 1 Answer
 1
 
active
oldest
votes
 1 Answer
 1
 
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
0
down vote
To get two subsequent alerts:
Object.keys(CONTENT.pages[pageKey].elements).each(type => alert(type));
To return two subsequent components [JumpTo, VideoPlayer]:
 Object.keys(CONTENT.pages[pageKey].elements).map(type => switch(type) 
 /* your case statements */
); 
add a comment |
up vote
0
down vote
To get two subsequent alerts:
Object.keys(CONTENT.pages[pageKey].elements).each(type => alert(type));
To return two subsequent components [JumpTo, VideoPlayer]:
 Object.keys(CONTENT.pages[pageKey].elements).map(type => switch(type) 
 /* your case statements */
); 
add a comment |
up vote
0
down vote
up vote
0
down vote
To get two subsequent alerts:
Object.keys(CONTENT.pages[pageKey].elements).each(type => alert(type));
To return two subsequent components [JumpTo, VideoPlayer]:
 Object.keys(CONTENT.pages[pageKey].elements).map(type => switch(type) 
 /* your case statements */
); 
To get two subsequent alerts:
Object.keys(CONTENT.pages[pageKey].elements).each(type => alert(type));
To return two subsequent components [JumpTo, VideoPlayer]:
 Object.keys(CONTENT.pages[pageKey].elements).map(type => switch(type) 
 /* your case statements */
); 
answered Nov 8 at 14:34
Daniel Rothig
5468
5468
add a comment |
add a comment |
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53209600%2freact-native-iterating-using-map%23new-answer', 'question_page');
);
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password