今天遇到一个问题。后端请求回来是[{id:'12',name:'tom'},{id:'13',name:'marry'}]。
百度的方法:
转换方法:1、利用fromEntries()和map()函数,语法“Object.fromEntries(arr.map(item => [item.key, item]))”语句;2、利用扩展运算符“...”,语法“{...arr}”。
方法1:利用fromEntries()和map()函数
- const arr = [
- { key: "id", name: "编号" },
- { key: "name", name: "名称" },
- ];
-
- const obj = Object.fromEntries(arr.map(item => [item.key, item]));
-
- console.log(obj);
输出

方法2:利用扩展运算符“...”
- const arr = [
- { key: "id", name: "编号" },
- { key: "name", name: "名称" },
- ];
-
- const obj = {...arr} ;
-
- console.log(obj);

我用了解构,但是他的姓氏是{0:{key:'id',name:'hhh'}},我不想要前面的0。
所以找了另外的方法:es6里面的find。
find() 方法就是根据传入的函数遍历数组中每一个元素,返回值为数组中第一个符合条件的值。
studnets:

student:
直接上代码
- //根据id查询student数据,返回符合条件的id
- students.find(function(item){
- return item.id === student.id
- })
结果: 这就是我想要的那一条数据。

注意: