Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.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中将键名添加到数组中_Javascript_Arrays_Reactjs - Fatal编程技术网

在javascript中将键名添加到数组中

在javascript中将键名添加到数组中,javascript,arrays,reactjs,Javascript,Arrays,Reactjs,我有一个对象数组,我正在使用map函数将该对象数组简化为每个对象中单个元素的数组。之后,我将删除该阵列中的dup元素。在这样做之后,我有一个类似arr=[100101103104105]的数组,但我希望每个元素都有一个键名,比如arr=[{id:100},{id:101},{id:103},{id:104},{id:105}] 我的初始对象数组: const options = [ { id: 1, value: 'chocolate', label: 'Chocolate' },

我有一个对象数组,我正在使用map函数将该对象数组简化为每个对象中单个元素的数组。之后,我将删除该阵列中的dup元素。在这样做之后,我有一个类似arr=[100101103104105]的数组,但我希望每个元素都有一个键名,比如arr=[{id:100},{id:101},{id:103},{id:104},{id:105}]

我的初始对象数组:

const options = [
       { id: 1, value: 'chocolate', label: 'Chocolate' },
       { id: 2,value: 'strawberry', label: 'Strawberry' },
       { id: 3,value: 'vanilla', label: 'Vanilla' },
       { id: 4,value: 'vanilla', label: 'Vanilla' },
];
所以uniqueTest给出了一个类似[巧克力、草莓、香草]的数组


如果可能的话,我想要的是一个带有键名的数组。

要获得所需的结果,您可以使用,它将为您提供一个新的数组副本。对于从字符串到数字的转换,可以使用函数将字符串转换为数字

请检查下面的代码片段

设arr=[100101103104105] 让output=arr.mapitem=>{id:Numberitem}
logoutput要获得所需的结果,您可以使用,它将为您提供一个新的数组副本。对于从字符串到数字的转换,可以使用函数将字符串转换为数字

请检查下面的代码片段

设arr=[100101103104105] 让output=arr.mapitem=>{id:Numberitem} logoutput您可以尝试使用reduce,因为它不仅用于获取单个所需的输出,还可以用于将数组转换为对象密钥对

另一个例子

常量选项=[{ id:1, 价值:“巧克力”, 标签:“巧克力” }, { id:2, 价值:'草莓', 标签:“草莓” }, { id:3, 价值:'香草', 标签:“香草” }, { id:4, 价值:'香草', 标签:“香草” }, ]; const newArr=acc,cv=>{ 返回{…acc, [简历标签]:简历 }; } const findByLabel=options.reducenewArr,{}; logfindByLabel您可以尝试使用reduce,因为它不仅用于获取单个所需的输出,还可以用于将数组转换为对象密钥对

另一个例子

常量选项=[{ id:1, 价值:“巧克力”, 标签:“巧克力” }, { id:2, 价值:'草莓', 标签:“草莓” }, { id:3, 价值:'香草', 标签:“香草” }, { id:4, 价值:'香草', 标签:“香草” }, ]; const newArr=acc,cv=>{ 返回{…acc, [简历标签]:简历 }; } const findByLabel=options.reducenewArr,{}; console.logfindByLabel使用map并确保map方法返回所需的键名

常量选项=[ {id:1,值:'chocolate',标签:'chocolate'}, {id:2,值:'草莓',标签:'草莓'}, {id:3,值:'vanilla',标签:'vanilla'}, {id:4,值:'vanilla',标签:'vanilla'}, ]; 设testArr=options.mapa=>a.value; 让uniqueTest=[…new settstarr]; const output=uniqueTest.mapkey=>{key}; logoutput使用map并确保map方法返回所需的键名

常量选项=[ {id:1,值:'chocolate',标签:'chocolate'}, {id:2,值:'草莓',标签:'草莓'}, {id:3,值:'vanilla',标签:'vanilla'}, {id:4,值:'vanilla',标签:'vanilla'}, ]; 设testArr=options.mapa=>a.value; 让uniqueTest=[…new settstarr]; const output=uniqueTest.mapkey=>{key};
console.logoutput以下是您想要的:

常量选项=[ {id:1,值:'chocolate',标签:'chocolate'}, {id:2,值:'草莓',标签:'草莓'}, {id:3,值:'vanilla',标签:'vanilla'}, {id:4,值:'vanilla',标签:'vanilla'}, ]; 设testArr=options.mapa=>a.value; 让uniqueTest=Array.fromnew settstarr,value=>{value};
console.loguniqueTest以下是您想要的:

常量选项=[ {id:1,值:'chocolate',标签:'chocolate'}, {id:2,值:'草莓',标签:'草莓'}, {id:3,值:'vanilla',标签:'vanilla'}, {id:4,值:'vanilla',标签:'vanilla'}, ]; 设testArr=options.mapa=>a.value; 让uniqueTest=Array.fromnew settstarr,value=>{value};
console.loguniquetest欢迎使用堆栈溢出!请通读一遍,尤其是你在这里的最佳选择是做你的研究,对于相关的话题等等,并尝试一下。如果你在做了更多的研究和搜索后陷入困境,无法摆脱困境,请发布一份你的尝试,并明确指出你陷入困境的地方。人们会很乐意帮忙的。看看吧!然后可以将每个键映射到对象{id:key}。欢迎使用堆栈溢出!请通读一遍,尤其是你在这里的最佳选择是做你的研究,对于相关的话题等等,并尝试一下。如果你在做了更多的研究和搜索后陷入困境,无法摆脱困境,请发布一份你的尝试,并明确指出你陷入困境的地方。人们会很乐意帮忙的。看看吧!然后可以将每个键映射到一个对象{id:key}
但是我缺少了花括号里的括号。谢谢,它解决了我的问题。@ShalinPatel很乐意帮忙,如果对你有用,请接受。因此,这将有助于其他人在今后的参考资料:我曾试图这样做,但我错过了圆括号周围的括号。谢谢,它解决了我的问题。@ShalinPatel很乐意帮忙,如果对你有用,请接受。因此,这将有助于其他人将来参考:
let testArr = options.map(a => a.value);
let uniqueTest = [...new Set(test)];
arr = ["100", "101", "103", "104", "105"]

const newArr = (acc, cv) => {
   return {...acc, ["id"]: cv};
}

const findById = arr.reduce(newArr, {});

console.log(findById)