javascript - 谷歌应用脚​​本: Create a new column in array based on value of other columns

标签 javascript arrays google-apps-script

我有一个从谷歌工作表中提取的数组。它主要报告我客户的 Instagram 帖子的表现。数组中的第一列给出图像 url,第二列给出视频 url,具体取决于帖子是图像还是视频。数组的 chop 版本将如下所示:

[ [ 'Media URL',
    'Video thumbnail URL',    
    'Engagement',
    'Media impressions',
    'Media reach' ],
  [ 'www.sampleimageurl.com/1',
    '',
    1328,
    23359,
    22234 ],
  [ '',
    'www.samplevideourl.com/2',
    683,
    12542,
    11743 ],
  [ 'www.sampleimageurl.com/3',
    '',
    1070,
    15232,
    11863 ]]

在此数组中,“媒体 URL”将包含一个值,或者“视频缩略图 URL”将包含一个值 - 永远不会出现两者都具有值或都没有值的情况有一个值(value)。

我需要您的帮助来找到一种方法来组合“媒体 URL”和“视频缩略图 URL”的值。 新数组看起来像这样:

[ [ 'URL',
    'Engagement',
    'Media impressions',
    'Media reach' ],
  [ 'www.sampleimageurl.com/1',
    1328,
    23359,
    22234 ],
  [ 'www.samplevideourl.com/2',
    683,
    12542,
    11743 ],
  [ 'www.sampleimageurl.com/3',
    1070,
    15232,
    11863 ]]

我一直在尝试创建一个空数组 var newArray = [] 并使用 if 条件和 splice 来填充它,但这种方法毫无进展。

for (i in data) {
    var row = data[i]
    if (row[1] === "") {
      newArray.push(row.splice(1,1))
    }
    else {
      newArray.push(row.splice(0,1))
    }

最佳答案

简短回答:

A.map(item => { item[0] = item[0] || item [1];  item.splice(1, 1); });
A[0][0]="URL";

实时代码:https://runkit.com/embed/iixibhqj5sg0

enter image description here

完整代码片段:

const A = [
[ 'Media URL',
'Video thumbnail URL',    
'Engagement',
'Media impressions',
'Media reach' ],
[ 'www.sampleimageurl.com/1',
'',
1328,
23359,
22234 ],
  [ '',
'www.samplevideourl.com/2',
683,
12542,
11743 ],
  [ 'www.sampleimageurl.com/3',
'',
1070,
15232,
11863 ]];

A.map(item => { item[0] = item[0] || item [1];  item.splice(1, 1); });
A[0][0]="URL";
console.log(A);

关于javascript - 谷歌应用脚​​本: Create a new column in array based on value of other columns,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60334009/

相关文章:

java - 如何旋转打包到一维数组中的二维矩阵?

c# - 二维数组 C#

java - 3 维房间中的欧几里得距离 - 基于 Java 中的 2d 数组

javascript - 如何在谷歌应用程序脚本中编写 if/and 语句

javascript - 如何更改 Google 表格中的图表位置?

javascript - 多个用户使用的 Google 脚本

javascript - 如何使带有 setTimeout() 的函数按顺序工作?

javascript - Ng-repeat 不适用于 Flask,$scope.variablename = data.result 在 $.post API 调用后超出范围

javascript - Flow Task Manager 在其 Web 应用程序客户端中使用什么技术?

javascript - 如何在Javascript中的map函数内的indexOf中使用属性变量