对象数组 对象的value值作为key
时间: 2024-05-16 11:18:20 浏览: 69
如果你想将一个对象数组中每个对象的某个属性的值作为 key,可以使用 reduce 方法来实现:
```
const arr = [
{ id: 1, name: 'Alice' },
{ id: 2, name: 'Bob' },
{ id: 3, name: 'Charlie' },
];
const result = arr.reduce((acc, obj) => {
acc[obj.id] = obj.name;
return acc;
}, {});
console.log(result); // {1: "Alice", 2: "Bob", 3: "Charlie"}
```
上面的代码中,我们使用 reduce 方法将每个对象的 id 属性作为 key,name 属性作为 value 存储到一个新对象中。初始值为一个空对象 `{}`。
相关问题
JQ 中如何从对象数组处理通过value 推到key
可以使用 `$.inArray()` 函数来解决这个问题。
例如,假设你有一个对象数组,如下所示:
```
var objectArray = [
{key: "value1", value: "foo"},
{key: "value2", value: "bar"},
{key: "value3", value: "baz"}
];
```
要从这个数组中查找键值为 "value2" 的对象,可以这样写:
```
var index = $.inArray("value2", $.map(objectArray, function(obj) {
return obj.key;
}));
if (index !== -1) {
var object = objectArray[index];
console.log(object.value); // 输出 "bar"
}
```
上面的代码使用了 `$.map()` 函数来映射对象数组中的每个对象的键值为一个新的数组,然后使用 `$.inArray()` 函数在新数组中搜索需要的值。如果找到了,就可以通过索引找到原来的对象。
对象数组根据key获取对应的value值
假设你有一个对象数组 `arr`,每个对象都有一个属性 `key` 和一个属性 `value`,你可以使用 JavaScript 中的 `find` 方法来查找匹配的对象并返回其 `value` 属性的值。
例如,如果你要根据 `key` 属性查找 `arr` 数组中的对象,可以使用以下代码:
```javascript
const keyToFind = 'someKey';
const obj = arr.find(item => item.key === keyToFind);
const value = obj ? obj.value : null;
console.log(value);
```
这将使用 `find` 方法查找具有 `key` 属性值等于 `someKey` 的对象。如果找到了对象,则将其 `value` 属性值存储在变量 `value` 中。否则,`value` 变量将为 `null`。
阅读全文