[英]map through and object in react
我想使用迭代创建这样的对象:opts = [{{label:1,value:1},{label:4,value:4}]该对象内部的值位于数组portArray = [1,4]中我在写
const portArray = [1,4];
return {
portArray.map(value =>
({ label: value value: value }))
};
});
但它似乎不起作用。 我想念什么,但我不知道。 有任何想法吗?
您提供的代码无效。 它包含非法的return
声明。
您可以使用Object.assign
获得所需的解决方案。
const portArray = [1, 4], res = portArray.map(v => Object.assign({}, { label: v, value: v })); console.log(res);
您的代码缺少分隔对象属性的逗号:
{
label: value, // <-- comma between properties
value: value
}
另外, Array#map
将返回一个新数组,其中包含映射到对象的值,这些值可以存储在局部变量中:
const portArray = [1,4];
const newArray = portArray.map(value =>({ label: value, value: value }));
// remember this comma :) ----------------^
关于箭头函数的隐式和显式返回值的旁注:
在箭头函数后的对象文字周围加上括号,它们是必需的,以便隐式返回函数的主体表达式。
在箭头函数中使用显式return语句(注意,在函数主体周围添加了花括号):
const newArray = portArray.map(value => {
return {
label: value,
value: value
}
};
您提供的代码非常混乱,但是我想我明白了您的问题。 由于map
返回一个新数组,因此假设您具有以下数组: var portArray = [1,4];
您可以使用如下地图:
function manipulateArray(data) {
return data.map((value) => {
return {label: value, value: value};
}
}
var newArray = manipulateArray(portArray);
这样newArray
将等于[{label:1, value:1}, {label:4, value:4}]
。
您可能应该在这里阅读地图的文档: MDN
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.