Javascript 如何将数组值从一个数组映射到另一个数组?
这是我的密码。我想将Javascript 如何将数组值从一个数组映射到另一个数组?,javascript,arrays,map-function,Javascript,Arrays,Map Function,这是我的密码。我想将kvArray的值传递给第二个数组 var kvArray = [{key: 1, value: 10}, {key: 2, value: 20}, {key: 3, value: 30}]; var reformattedArray = kvArray.map(obj => { var payload = {}; payload["rt"]; payload["do"]; pa
kvArray
的值传递给第二个数组
var kvArray = [{key: 1, value: 10},
{key: 2, value: 20},
{key: 3, value: 30}];
var reformattedArray = kvArray.map(obj => {
var payload = {};
payload["rt"];
payload["do"];
payload["f1"];
payload[obj.key] = obj.value;
console.log(payload["rt"]);
return payload;
});
console.log
即将出现undefined
。
有人能帮忙吗?我对映射函数相当陌生
我想打印这个结果
payload["do"]=10
payload["f1"]=20
payload["f2"]=30
不确定您试图通过以下几行实现什么:
payload["rt"];
payload["do"];
payload["f1"];
如果要在Reformatterray中创建新键,请尝试指定一个值,例如
var kvArray = [{key: 1, value: 10},
{key: 2, value: 20},
{key: 3, value: 30}];
var reformattedArray = kvArray.map(obj =>{
var payload = {};
payload["rt"] = "";
payload["do"]= "";
payload["f1"]= "";
payload[obj.key] = obj.value;
console.log(payload["rt"]);
return payload;
});
console.log(reformattedArray):
//result
0: {1: 10, rt: "", do: "", f1: ""}
1: {2: 20, rt: "", do: "", f1: ""}
2: {3: 30, rt: "", do: "", f1: ""}
您正在将值分配给有效负载,但正在获取有效负载的值
var kvArray=[{key:1,value:10},
{键:2,值:20},
{键:3,值:30}];
var reformattedArray=kvArray.map(obj=>{
var有效载荷={};
有效载荷[obj.key]=obj.value;
控制台日志(有效载荷[obj.key]);
返回有效载荷;
});代码>您正在将数据映射到reformattedArray,因此需要触发reformattedArray以获取值
var kvArray=[{key:1,value:10},
{键:2,值:20},
{键:3,值:30}];
var reformattedArray=kvArray.map(obj=>{
var有效载荷={};
有效载荷[obj.key]=obj.value;
返回有效载荷;
});
console.log(重新格式化Darray)代码>我不确定您想要什么格式
请尝试以下代码:
var kvArray = [{ key: 1, value: 10 },
{ key: 2, value: 20 },
{ key: 3, value: 30 }];
var reformattedArray = kvArray.map(obj => obj.value);
console.log(reformattedArray)
结果将是:
[ 10, 20, 30 ]
这个代码很好用
let kvArray = [{key: 1, value: 10},
{key: 2, value: 20},
{key: 3, value: 30}];
let reformattedArray = kvArray.map(obj =>{
var payload = {};
payload[obj.key] = obj.value;
return payload;
});
console.log(reformattedArray)
上面的代码打印输出如下
[
0: {1: 10}
1: {2: 20}
2: {3: 30}
]
有关详细信息,请参阅此,您可以使用创建一个新对象
对于最后的关键点,可以使用对象keys
,将关键点与给定对象的关键点对应起来
var kvArray=[{key:1,value:10},{key:2,value:20},{key:3,value:30}],
键={1:rt',2:do',3:fi'},
result=kvArray.map(({key,value})=>({[key[key]]:value}));
控制台日志(结果)代码>
.as控制台包装{最大高度:100%!重要;顶部:0;}
var kvArray=[{key:1,value:10},
{键:2,值:20},
{键:3,值:30}];
var reformattedArray=kvArray.map(obj=>{
var有效载荷={};
常量映射=[null,'rt','do','f1'];
常量键=映射[obj.key];
有效载荷[键]=对象值;
返回有效载荷;
});
console.log(重新格式化Darray)代码>当您在map函数中引用obj.key时,您正在分配有效负载[1]、有效负载[2]和有效负载[3]。因此,有效负载[“rt”]仍然未定义。您希望在有效负载[“rt”]中存储什么值?请同时添加所需的结果。@NullPointer我希望有效负载[“rt”]=10.btw,很不清楚所需的键是否取决于索引或键值。我已经定义了数组有效负载的键。我希望这个输出有效载荷[“rt”]=10。像这样。这很有帮助:)。非常感谢你。为了将“rt”和“do”的键传递给有效负载,最好通过在另一个数组中声明它们来映射它们。这很好:)const-mapping=[null,'rt','do','f1']代码>什么是空值?