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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

JavaScript

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

暗号化

ネットワークを通じてデジタルデータをやり取りする際に、第三者に解読されることのないよう、アルゴリズムを用いてデータを変換すること。

ハッシュ

ハッシュは、高速にデータ検索を行うアルゴリズムのことです。

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

Q&A

解決済

1回答

1557閲覧

スプレッドシートに入力したメールをハッシュ化→セルに出力したい

kente

総合スコア1

Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

JavaScript

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

暗号化

ネットワークを通じてデジタルデータをやり取りする際に、第三者に解読されることのないよう、アルゴリズムを用いてデータを変換すること。

ハッシュ

ハッシュは、高速にデータ検索を行うアルゴリズムのことです。

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

0グッド

0クリップ

投稿2021/09/01 06:21

前提・実現したいこと

スプレッドシートに記入したメールアドレスを取得し、ハッシュ化してスプレッドシートに出力したい。
そのためにメールアドレスをハッシュ化させ二重配列の中に入れたい。

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

メールアドレスが記載された行列を取得し、メールアドレスの数だけハッシュ化をそれぞれのメールアドレスに対して行い、
得られたハッシュ値を再度配列の中に戻すという作業をfor文を用いて実行したいのだが、
最終行のメールアドレスがハッシュ化されたものしか返ってこない

該当のソースコード

//以下ハッシュ化関数 function MD5(input) { var rawHash = Utilities.computeDigest(Utilities.DigestAlgorithm.MD5, input, Utilities.Charset.UTF_8); var txtHash = ''; for (i = 0; i < rawHash.length; i++) { var hashVal = rawHash[i]; if (hashVal < 0) { hashVal += 256; } if (hashVal.toString(16).length == 1) { txtHash += '0'; } txtHash += hashVal.toString(16); } return txtHash; } //以下メールをハッシュ化→出力関数 function hushMail(){ const ss= SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getActiveSheet(); var range = sheet.getRange(4, 3, 10); var value = range.getValues(); var hashed=[]; for(var i=0; i<value.length; i++){ var hashedMail=MD5(value[i][0]); hashed =[hashedMail]; } sheet.getRange(4, 5, 10).setValues(hashed); }

試したこと

hashed+=[hashedMail]等は配列の後ろにハッシュ値が足し合わされるだけでした...
どのようにしたら[[ハッシュ値1],[ハッシュ値2]...]とできるのか御教示いただきたいです。

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

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

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

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

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

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

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

guest

回答1

0

ベストアンサー

hashedが配列なので、配列を末尾に追加するpushを使えばいいのではないでしょうか。

js

1for(var i=0; i<value.length; i++){ 2 var hashedMail=MD5(value[i][0]); 3 hashed.push([hashedMail]); 4}

Array.prototype.push() - JavaScript | MDN

投稿2021/09/01 06:35

yuuyu

総合スコア1139

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

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

kente

2021/09/06 00:18

配列の後ろに追加するという考えがありませんでした...! 助かりました!ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問