首页 > 解决方案 > JS/TS 如何遍历对象数组并更改值

问题描述

考虑以下数组。

routingButtonsHighlighter = [
  {vehicle: true},
  {userAssignment: false},
  {relations: false}
];

构建可以实现以下目标的功能的最佳方法是什么?

1) 将所有成员设置为 false 2) 将所选成员设置为 true(作为参数传递)

标签: javascriptarraystypescriptobject

解决方案


您可以使用 迭代数组Array.forEach(),使用 获取键Object.keys(),与所选键进行比较,并相应地设置值:

const routingButtonsHighlighter = [{vehicle: true}, {userAssignment: false}, {relations: false}];

const select = (arr, selectedKey) =>
  arr.forEach((o) => {
    const key = Object.keys(o)[0];
    
    o[key] = key === selectedKey;
  });
  
select(routingButtonsHighlighter, 'userAssignment');

console.log(routingButtonsHighlighter);


推荐阅读