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

如何使用$.each()遍历对象数组并单独获取name/value值?

解决方案

嘿,这个问题其实很好解决,核心就是在$.each()的回调函数里,直接访问每个遍历项的name和value属性,再根据你的需求把它们收集到对应的结构里就行。我给你分几种常见场景举例:

1. 单独提取所有name值到数组

假设你的源数据是类似这样的对象数组:

const sourceData = [
  { name: "username", value: "jane_smith", id: 1 },
  { name: "email", value: "jane@example.com", id: 2 },
  { name: "gender", value: "female", id: 3 }
];

要只收集name,可以这么写:

const nameList = [];
$.each(sourceData, function(index, item) {
  // 把当前项的name属性push到数组里
  nameList.push(item.name);
});
console.log(nameList); // 输出: ["username", "email", "gender"]

2. 单独提取所有value值到数组

逻辑和上面一致,只是换成访问value属性:

const valueList = [];
$.each(sourceData, function(index, item) {
  valueList.push(item.value);
});
console.log(valueList); // 输出: ["jane_smith", "jane@example.com", "female"]

3. 同时提取name和value(两种常见形式)

形式一:组成键值对对象

如果想把name作为键,value作为值,生成一个对象:

const keyValueMap = {};
$.each(sourceData, function(index, item) {
  keyValueMap[item.name] = item.value;
});
console.log(keyValueMap); 
// 输出: { username: "jane_smith", email: "jane@example.com", gender: "female" }

形式二:保留数组结构,只包含name和value

如果源数据还有其他多余属性,你想过滤掉只保留这两个:

const filteredData = [];
$.each(sourceData, function(index, item) {
  filteredData.push({
    name: item.name,
    value: item.value
  });
});
console.log(filteredData);
// 输出: [{name: "username", value: "jane_smith"}, {name: "email", value: "jane@example.com"}, {name: "gender", value: "female"}]

本质上就是在$.each()的回调里,通过item.name和item.value精准获取你要的字段,再根据需求存入对应的数组或对象就好啦~

内容的提问来源于stack exchange,提问作者Aus-tn

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 09:23:44