You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:如何提取JavaScript对象中的键对应的值?

解决方案:从JavaScript对象数组中提取所有文本值

Got it, let's tackle this problem. You have an array containing a JavaScript object, and you want to extract all the values associated with its keys. Here are a few straightforward solutions depending on your specific use case:

1. 提取单个对象的所有值(你的原始场景)

Since your params array holds exactly one object, we can first access that object, then use Object.values()—a built-in JS method that returns an array of all an object's values.

const params = [{"title":"How to code","author":"samuel","category":"category","body":"this is the body"}];

// Step 1: Get the object from the array
const targetObject = params[0];
// Step 2: Extract all values
const textValues = Object.values(targetObject);

console.log(textValues);
// Output: ["How to code", "samuel", "category", "this is the body"]

2. 处理包含多个对象的数组

If your params array ever has multiple objects and you want to extract all values into a single flat array, use flatMap() to combine results from each object:

const params = [
  {"title":"How to code","author":"samuel","category":"category","body":"this is the body"},
  {"title":"Mastering JS","author":"jane","category":"tech","body":"tips and tricks"}
];

const allTextValues = params.flatMap(item => Object.values(item));

console.log(allTextValues);
// Output: ["How to code", "samuel", "category", "this is the body", "Mastering JS", "jane", "tech", "tips and tricks"]

3. 处理嵌套对象(扩展场景)

If your objects have nested objects (like a meta field with more data), use a recursive function to dig into all levels and extract values:

function extractAllValues(obj) {
  let values = [];
  for (const key in obj) {
    // Check if the value is an object (and not null)
    if (typeof obj[key] === 'object' && obj[key] !== null) {
      // Recursively extract values from nested objects
      values = values.concat(extractAllValues(obj[key]));
    } else {
      // Add non-object values to the array
      values.push(obj[key]);
    }
  }
  return values;
}

const params = [{"title":"How to code","author":"samuel","category":"category","body":"this is the body","meta":{"date":"2024-05-20","views":150}}];
const allNestedValues = params.flatMap(item => extractAllValues(item));

console.log(allNestedValues);
// Output: ["How to code", "samuel", "category", "this is the body", "2024-05-20", 150]

All these methods are vanilla JavaScript—no external libraries needed, so they'll work in any standard JS environment.

内容的提问来源于stack exchange,提问作者Intuitive Skamod Anthony

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 08:58:21