質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

1回答

464閲覧

配列・foreachを使ったデータ統計がしたいです。

biisuto00

総合スコア3

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2021/03/24 02:16

編集2021/03/24 02:28

前提・実現したいこと

初心者です。よろしくお願いします。
A1~D5の二次元配列を所得し、その中から
AでありBでありCである。を数え
その数を集計したいです。
例えば[A.B,C][A,B,C][A,B,Z][A,B,Z][A,B,Z]だとしたらAでありBでありCであるは2つのなので最終的に
2と出るような集計の仕方です。
やり方としていくつかあると思いますが、今の自分にできる考えの限界が

[A.B,C][A,B,C][A,B,Z][A,B,Z][A,B,Z]の二次元配列を所得する

for文で初期化式を作る(e)(f)(g)

一番上の配列からインデックス[e][e] がAの物を抽出して変数に入れる

その変数からさらに[f][f]がBのものを抽出して変数にいれる

さらに[g][g]がCのものを抽出して変数にいれる

最後に変数を数える

といった感じの考えで問題ないでしょうか。またそれをソースコードにする流れがわかっていません。
またforeach文なども閲覧しましたが私の理解力では調べたjava言語からGASに落とし込む方法がわからず理解もあまりできていません。そちらを使った方が楽なのでしょうか?
また、forで繰り返した物を変数に抽出するコードがわからないです。
どういったソースコードを参考にすればよろしいでしょうか。
よろしければ回答お願いします。

foreach ($profile as $key => $value) {
if ($key == 'A' && $key == 'BB') {
continue;

発生している問題・エラーメッセージ

なし

該当のソースコード

function myFunction() {
const ss = SpreadsheetApp.openById("AAA");
const sh = ss.getSheetByName('AAA');

var productList = sh.getRange(2,6,35,3).getValues();
console.log( productList );

}

試したこと

for

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sawa

2021/03/24 08:35

AでありBでありCである が何を意図してるのかよくわからないです。 [A,B,C]に並びも合致した配列を指してるのか、A,B,Cの全てが含まれれば良い([B,C,A]とか[C,A,B]もアリ)なのか。
guest

回答1

0

ベストアンサー

js

1 2const A = 1, B = 2, C = 3, D = 4, E = 5, Z = 26; 3const ary = [[A,B,C], [A,B,E], [A,B,Z], [A,B,Z], [A,B,D], [A,B,C]]; 4const comp = [A,B,C]; 5 6let rst = ary.filter (a => a.every (a=> comp.includes (a))); 7console.log (rst.length + ' 個あるよ');

投稿2021/03/24 11:18

babu_babu_baboo

総合スコア616

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

biisuto00

2021/03/27 07:37 編集

遅い回答失礼します。こちらでかなり動くようになりました。 しかし中身がうまく理解できておらずアロー演算子を調べましたが理解が及びませんでした。 もしよろしければ=>の意味とaの意味を教えていただければ幸いです よろしくお願いします
babu_babu_baboo

2021/03/27 08:46

これなら理解できますか let rst = ary.filter (function (a) { return a.every (function (a) { return comp.includes (a);});}); a は、関数に渡るただの引数です
biisuto00

2021/03/27 10:37

ありがとうございます。アロー演算子はコールバック関数と言われる物になれるということで理解致しました。 ご回答ありがとうございました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問