回答編集履歴

2

三項演算子

2022/12/09 18:10

投稿

Cocode
Cocode

スコア2314

test CHANGED
@@ -65,4 +65,9 @@
65
65
  }
66
66
  ```
67
67
 
68
+ この部分 `haystack.includes(needle) ? ['✅'] : ['']` は、三項演算子と呼ばれる`if/else`を1行で書ける記法です。
69
+ 詳細は下記サイトをご覧ください。
70
+
71
+ - [条件 (三項) 演算子 - JavaScript | MDN](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Operators/Conditional_Operator)
72
+
68
73
  蛇足ですが、こういうたくさんの中から1つを見つけるサンプルコードを書く際は、海外の慣習でhaystack(干し草の山)からneedle(針)を探すという表現をしますので、今回サンプルを提示する際にその用語を使わせていただきました。

1

誤字修正

2022/12/09 17:20

投稿

Cocode
Cocode

スコア2314

test CHANGED
@@ -2,7 +2,7 @@
2
2
  使えますが、そのままでは使えません。
3
3
 
4
4
  > ②半ば丸投げになってしまい申し訳ありませんが、どのようなアプローチをすればGASで<最終形>が実現できますか?
5
- - `.flatt()`を使用しましょう。
5
+ - `.flat()`を使用しましょう。
6
6
  - また`.some()`を使用する意味は今回はありませんので、`.includes()`を推奨します。
7
7
 
8
8
  ### 不具合の原因と対策
@@ -12,14 +12,14 @@
12
12
  例を見てみましょう。
13
13
  A2〜A4の値を取得してきて、そこに「apple」が含まれているかどうかを判別したいとします。
14
14
 
15
- - `.getValues()`で取得してきた配列`originalValues`は`[ [ 'apple' ], [ 'banana' ], [ 'orange' ], [ 'kiwi' ] ]`という2次元配列です。
15
+ - `.getValues()`で取得してきた配列originalValuesは`[ [ 'apple' ], [ 'banana' ], [ 'orange' ], [ 'kiwi' ] ]`という2次元配列です。
16
16
  - originalValuesに`'apple'`が含まれているか?というと含まれていません。
17
17
  - `['apple']`はありますが、`'apple'`は存在しません。
18
- - ですので`false`となります(`originalResult`参照)。
18
+ - ですので`false`となります(originalResult参照)。
19
- - では`['apple']`は含まれているか?と`.some()`を使ってみても`false`になります(`originalResult2`参照)。
19
+ - では`['apple']`は含まれているか?と`.some()`を使ってみても`false`になります(originalResult2参照)。
20
20
  - JavaScriptではたとえ中身が同じ値だとしても、別々に作った配列・オブジェクトは別物ととらえるからです。
21
21
  - ではどうすればいいのか?取得してきた配列を`.flat()`を用いて1次元配列化すればいいのです。
22
- - `[ 'apple', 'banana', 'orange', 'kiwi' ]`という形にすれば、`.some()`の検索にもちゃんとひっかかってくれますね。
22
+ - `[ 'apple', 'banana', 'orange', 'kiwi' ]`という形にすれば、`.some()`の検索にもちゃんとひっかかってくれますね(newResult参照)
23
23
 
24
24
  ```javascript
25
25
  function someTest() {