回答編集履歴
3
効率化
test
CHANGED
@@ -32,6 +32,28 @@
|
|
32
32
|
|
33
33
|
```
|
34
34
|
|
35
|
+
※ちょっと効率化すると以下ですが、ちょっと見にくいですかね・・・
|
36
|
+
|
37
|
+
```javascript
|
38
|
+
|
39
|
+
function findIndexOfStr(arr, str) {
|
40
|
+
|
41
|
+
return Object.entries(arr).filter(function(i){
|
42
|
+
|
43
|
+
return i[1].match(str);
|
44
|
+
|
45
|
+
}).map(function(i){
|
46
|
+
|
47
|
+
return i[0];
|
48
|
+
|
49
|
+
})[0]||-1;
|
50
|
+
|
51
|
+
}
|
52
|
+
|
53
|
+
```
|
54
|
+
|
55
|
+
|
56
|
+
|
35
57
|
実行
|
36
58
|
|
37
59
|
```javascript
|
2
調整
test
CHANGED
@@ -36,13 +36,15 @@
|
|
36
36
|
|
37
37
|
```javascript
|
38
38
|
|
39
|
-
console.log(findIndexOfStr(["x","
|
39
|
+
console.log(findIndexOfStr(["xyz","def","ghi"], "a")); // ->1
|
40
40
|
|
41
|
-
console.log(findIndexOfStr(["a","
|
41
|
+
console.log(findIndexOfStr(["abc","def","ghi"], "a")); // ->0
|
42
42
|
|
43
|
-
console.log(findIndexOfStr(["
|
43
|
+
console.log(findIndexOfStr(["ihg","fed","cba"], "a")); // ->2
|
44
44
|
|
45
|
-
console.log(findIndexOfStr(["a","a","a"], "a")); // ->0 (複数ある先頭)
|
45
|
+
console.log(findIndexOfStr(["bac","abc","cba"], "a")); // ->0 (複数ある先頭)
|
46
|
+
|
47
|
+
|
46
48
|
|
47
49
|
|
48
50
|
|
1
修正
test
CHANGED
@@ -3,6 +3,10 @@
|
|
3
3
|
第1引数の配列の中に第2引数の文字列と完全一致するものがあれば、
|
4
4
|
|
5
5
|
その最初のkeyの値を返し、ひとつもなければ-1を返すのでしょうか?
|
6
|
+
|
7
|
+
|
8
|
+
|
9
|
+
※修正:完全一致ではなく部分一致と書いてありましたので修正しておきました
|
6
10
|
|
7
11
|
|
8
12
|
|
@@ -12,7 +16,9 @@
|
|
12
16
|
|
13
17
|
var ret=Array.map(Object.entries(arr).filter(function(i){
|
14
18
|
|
19
|
+
//return i[1]===str; /*完全一致*/
|
20
|
+
|
15
|
-
return i[1]
|
21
|
+
return i[1].match(str); /*部分一致*/
|
16
22
|
|
17
23
|
}),function(i){
|
18
24
|
|