use*_*629 2 javascript arrays google-apps-script
我有一个对象数组,看起来像:
var objArray = [
{
" #": "4596",
" E": "Yes",
" Date": "06/12/20",
" County": "Los Angeles County",
" State": "California",
" Acres": "2.49",
" Eager": "Low",
},
{
" #": "4588",
" E": "Yes",
" Date": "06/11/20",
" County": "Towns County",
" State": "Georgia",
" Acres": "3.00",
" Eager": "High",
},
....
];
Run Code Online (Sandbox Code Playgroud)
我正在尝试将一组索引('#')放在一起;
到目前为止,我有:
let indexes = objArray.forEach(function (rowObj) {
Object.keys(rowObj).map(function (key) {
if (key.includes("#")) {
var v = rowObj[key];
Logger.log(v); // abc
return v;
}
});
});
Logger.log(indexes); // abc
Run Code Online (Sandbox Code Playgroud)
输出:
[20-06-13 20:43:33:320 EDT] 4547
[20-06-13 20:43:33:324 EDT] 4546
[20-06-13 20:43:33:329 EDT] 4545
[20-06-13 20:43:33:450 EDT] 4543
[20-06-13 20:43:33:453 EDT] 4542
[20-06-13 20:43:33:456 EDT] 4540
[20-06-13 20:43:33:459 EDT] 4538
Run Code Online (Sandbox Code Playgroud)
这是产生:
[20-06-13 20:43:33:462 EDT] null
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
作为补充答案:
您可以更简单、更快地完成此操作。
const values = [
{ " #": "4596", " E": "Yes"},
{ " #": "4597", " E": "No"},
{ " #": "4598", " E": "Maybe"},
]
const indices = values.map(({ " #" : id }) => id);
console.log(indices);Run Code Online (Sandbox Code Playgroud)
请注意,map()方法的回调应该是确定性的,以获得一致的结果。
实际问题
检查forEach()方法的文档- 它旨在产生副作用,因此返回void(字面上没有价值),因此是最后一个Logger.log(indexes);问题。
有用的链接
| 归档时间: |
|
| 查看次数: |
80 次 |
| 最近记录: |