首页 > 解决方案 > 如何遍历对象数组并获取值

问题描述

请完整阅读。在真正找到之前不要将其标记为重复。我有一个对象数组,如下所示。

const filterParams = [
      { 'waterfront_type[]': 'Cove' },
      { 'area[]': 'Applehead Island' },
      { 'waterfront_type[]': 'Channel' },
      { 'waterfront_type[]': 'Open Water' },
      { baths: '0 - 14' },
      { price: '0.00 - 9,876,100.00' }
    ];

我需要循环这个并将它添加到表单数据中。我正在像下面那样做。

filterParams.map(param => {
      return formData.append(param.key, param.value);
    });

预期:param.key 是 waterfront_type[],param.value 是 Cove。所以在内部应该是formData.append('waterfront_type[]', 'Cove');

获取:都未定义。formData.append(undefined, undefined);

标签: javascriptarrays

解决方案


您可以使用Object.entries(), 和数组解构来获取键和值。

注意:默认= []处理空对象的情况。

filterParams.map(param => {
  const [[key, value] = []] = Object.entries(param);
  return formData.append(key, value);
});

如果您只需要调用formData(key, value),并且您不关心返回值(如果有),请使用Array.forEach()代替Array.map()

filterParams.forEach(param => {
  const [[key, value] = []] = Object.entries(param);
  formData.append(key, value);
});

推荐阅读