回答編集履歴
1
追記
answer
CHANGED
@@ -16,4 +16,28 @@
|
|
16
16
|
});
|
17
17
|
|
18
18
|
console.log(res);
|
19
|
+
```
|
20
|
+
|
21
|
+
# 追記
|
22
|
+
上記ロジックを利用してObjectを拡張して汎用的に結果を得る
|
23
|
+
ただしprototypeの拡張は推奨されないことが多い
|
24
|
+
```javascript
|
25
|
+
var boxs = {
|
26
|
+
a:"aaa",
|
27
|
+
b:"bbb",
|
28
|
+
c:"ccc",
|
29
|
+
c2:"ccc",
|
30
|
+
d:"ddd",
|
31
|
+
e:"eee",
|
32
|
+
};
|
33
|
+
|
34
|
+
Object.prototype.myfilter=function(val){
|
35
|
+
var res={};
|
36
|
+
var self=this;
|
37
|
+
Array.prototype.map.call(Object.keys(this),function(x){
|
38
|
+
if(self[x]==val) res[x]=self[x];
|
39
|
+
});
|
40
|
+
return res;
|
41
|
+
};
|
42
|
+
console.log(boxs.myfilter("ccc"));
|
19
43
|
```
|