Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从两个数组中创建json对象_Javascript_Arrays_Json_Typescript - Fatal编程技术网

Javascript 如何从两个数组中创建json对象

Javascript 如何从两个数组中创建json对象,javascript,arrays,json,typescript,Javascript,Arrays,Json,Typescript,具有两个阵列: let value=[“52”、“71”、“3”、“45”、“20”、“12”、“634”、“21”]; 让名称=[“苹果”、“橘子”、“草莓”、“香蕉”、“椰子”、“菠萝”、“西瓜”、“李子”]; 如何创建以下对象: { "apple": 52, "orange": 71, "strawberry": 3, "banana": 45, "cocon

具有两个阵列:

let value=[“52”、“71”、“3”、“45”、“20”、“12”、“634”、“21”];
让名称=[“苹果”、“橘子”、“草莓”、“香蕉”、“椰子”、“菠萝”、“西瓜”、“李子”];
如何创建以下对象:

{
    "apple": 52,
    "orange": 71,
    "strawberry": 3,
    "banana": 45,
    "coconut": 20,
    "pineapple": 12,
    "watermelon": 634,
    "plum": 21
}
我尝试使用
Object.assign
,但这只会覆盖值


对象。分配

创建一个新的结果对象。为每个元素的名称添加一个具有名称和相应值的nnew对象

编辑:因为在值数组中,所有元素都是字符串,而在结果对象中,值是整数,所以我使用parseInt进行转换

注意:使用变量
name
不太好,因为如果要使用类似于name.forEachname.map的任何内容,会出现类型错误。这似乎是一个保留字或类似的东西

let value=[“52”、“71”、“3”、“45”、“20”、“12”、“634”、“21”];
让名称=[“苹果”、“橘子”、“草莓”、“香蕉”、“椰子”、“菠萝”、“西瓜”、“李子”];
设temp={};
name.forEach((elem,index)=>{temp[elem]=parseInt(values[index]));
name.forEach((项目,索引)=>{
console.log('item:',item);
console.log('索引:',索引);
log('temp[item]:',temp[item]);
log('values[index]:',values[index]);
临时[项目]=值[索引];
console.log(名称);

});我尝试了此解决方案,但对我无效。我更新了问题,请看一看,让我知道你的想法我编辑了我的解决方案:现在结果中的值是整数而不是字符串。我理解,但还有一件事:当我试图达到
结果[elem]时,问题中的
temp
编辑是你的
结果
结果是它没有定义。我不知道为什么。免责声明:我在这里使用的数组名称只是为了方便起见,在真正的应用程序中,它们的名称不同;)是,因为您使用了
temp
,并且没有为其设置任何属性。因此,您必须在输出循环和创建的对象中使用相同的变量。我通过将结果重命名为temp修改了代码,一切正常。查看上面的代码。