Javascript 如何分配对象';s表示变量的循环输出
在将数组转换为对象时,我发现了一个无法解决的严重错误。当我们使用Javascript 如何分配对象';s表示变量的循环输出,javascript,Javascript,在将数组转换为对象时,我发现了一个无法解决的严重错误。当我们使用map方法到一个数组时,它会返回一些东西,但是对于对象,它不会返回任何东西 let output = for(var key in taggedOnes) { <- this is not a good approach at all. // But I'm looking for similar logic. let item = taggedOnes[key]; ... if(id==
map
方法到一个数组时,它会返回一些东西,但是对于对象,它不会返回任何东西
let output = for(var key in taggedOnes) { <- this is not a good approach at all.
// But I'm looking for similar logic.
let item = taggedOnes[key];
...
if(id===this.state.selectedClothId) {
return ( <- I can't return it? :(
<View
key={id}
style={{
top,
left,
height: thumbSize,
width: thumbSize,
borderWidth: 2,
borderColor: 'yellow'
}}
/>
);
} else {
return (
<View
key={id}
style={{
top,
left,
height: thumbSize,
width: thumbSize,
borderWidth: 2,
borderColor: 'white'
}}
/>
);
}
}
return output; <- I want to return whole React Elements in one element like array.
let output=for(taggedOnes中的var键){您可以使用它来获取一个数组,其中包含taggedOnes
对象中的键。
然后,您可以调用此数组来浏览您的数组并返回另一个数组
我不知道在哪里创建id
变量,但您可以轻松地调整以下示例:
const output = Object.keys(taggedOnes).map(key => {
const item = taggedOnes[key];
if (id === this.state.selectedClothId) {
return (
<View
key={id}
style={{
top,
left,
height: thumbSize,
width: thumbSize,
borderWidth: 2,
borderColor: 'yellow'
}}
/>
);
} else {
return (
<View
key={id}
style={{
top,
left,
height: thumbSize,
width: thumbSize,
borderWidth: 2,
borderColor: 'white'
}}
/>
);
}
}
});
const-output=Object.key(taggedOnes.map)(key=>{
常量项=标记项[键];
if(id==this.state.selectedClothId){
返回(
);
}否则{
返回(
);
}
}
});
您需要的是对象.key(taggedOnes).map
。for循环不返回任何内容,它只是在值上循环,for循环内的return语句将返回当前函数
另一方面,Map使用提供的函数转换数组的每个元素,在您的例子中,它正在/正在将其转换为react组件列表。您可以使用Object.keys(taggedOnes).Map
将taggedOnes
对象转换为其转换值的数组
let output = Object.keys(taggedOnes).map(key => {
let item = taggedOnes[key];
...
if (id===this.state.selectedClothId) {
return ...
} else {
return ...
}
});
Object.keys
是一个返回对象键数组的函数。那么如何将多个react本机组件分配给变量output
?现在我很困惑