繁体   English   中英

从 arrays 中提取 object 元素

[英]Extract object elements from arrays

我有一个输出如下的数组:

[]
0: {emailAddress: "xxx", squats: "0", steps: "4500", WorkoutDate: "12-5-2020", pullUps: "0", …}
1: {emailAddress: "yyy", squats: "4000", steps: "0", WorkoutDate: "10-5-2020", pullUps: "0", …}
2: {emailAddress: "zzz", WorkoutDate: "05-08-2020"}
length: 3
__proto__: Array(0)

遍历这些项目并提取值的最佳方法是什么?

谢谢您的帮助!

这种情况可能有多种解决方案。 我更喜欢您使用array.maparray.forEach方法循环遍历数组, 使用 for...in方法循环遍历 object 属性。 array.map创建一个新数组,而array.forEach不创建一个新数组实例。

样品溶液

 const arr = [ {emailAddress: "xxx", squats: "0", steps: "4500", WorkoutDate: "12-5-2020", pullUps: "0"}, {emailAddress: "yyy", squats: "4000", steps: "0", WorkoutDate: "10-5-2020", pullUps: "0"}, {emailAddress: "zzz", WorkoutDate: "05-08-2020"} ]; arr.forEach((item) => { for (const property in item) { console.log(`${property}: ${item[property]}`); } })

有多种方法可以遍历数组的内容:

 const objects = [ { "name": "John" }, { "name": "Tess" }, { "name": "Tomi" } ]; // Foreach objects.forEach(currentObject => console.log(currentObject.name)); // For of for (const currentObject of objects ) { console.log(currentObject.name); } // For-loop for (let i = 0; i < objects.length; i++) { console.log(objects[i].name); }

 const arr = [{ emailAddress: "xxx", squats: "0", steps: "4500", WorkoutDate: "12-5-2020", pullUps: "0" }, { emailAddress: "yyy", squats: "4000", steps: "0", WorkoutDate: "10-5-2020", pullUps: "0" }, { emailAddress: "zzz", WorkoutDate: "05-08-2020" } ]; arr.forEach((arr, i, val) => { val[i] = Object.values(val[i]); }); console.log(arr);

你也可以这样做:

 var arr = [{ emailAddress: "xxx", squats: "0", steps: "4500", WorkoutDate: "12-5-2020", pullUps: "0" },{ emailAddress: "yyy", squats: "4000", steps: "0", WorkoutDate: "10-5-2020", pullUps: "0" }, { emailAddress: "zzz", WorkoutDate: "05-08-2020"}]; arr.forEach((val)=>{ for(let [key, value] of Object.entries(val)) { console.log(`Value of ${key} is ${value};`); } });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM