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