下記のようなコードを書いたのですが、帰ってくる値(console.log("test_filter: " + test_filter);の部分)が自分の想像では、"test02"だと思ったのですが、test01と、test03がでてきて、filterを使った式は、test_filter: [object Object]と返ってきます。
filter関数が理解しきれていないのですが、一致したものが返ってくると思っていたので、なぜなのかわかりません。また、なぜ[object Object]と返ってくるのかもわからず、、アドバイスをいただけたら幸いです。
index.html
Javascript
1<!DOCTYPE html> 2<html> 3<head> 4<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 5<title>test</title> 6</head> 7<body> 8<script type="text/javascript"> 9function callback(test){ 10 var test_filter = test.test_obj.filter(function(te, index){ 11 if (te.name == 'test02') return true; 12 console.log("te.name :"+te.name);/*実際に返ってきたのは、te.name :test01とte.name :test03*/ 13 }); 14 console.log("test_filter: " + test_filter);/*実際に返ってきたのは、test_filter: [object Object]*/ 15} 16</script> 17<script type="text/javascript" src="test_jsonp.js"></script> 18</body> 19</html> 20
test_jsonp.js
javascript
1callback({ 2 "test_obj":[ 3 { 4 "type":"1", 5 "no":"1", 6 "name":"test01" 7 },{ 8 "type":"2", 9 "no":"2", 10 "name":"test02" 11 },{ 12 "type":"3", 13 "no":"3", 14 "name":"test03" 15 }, 16 ] 17} 18); 19
回答2件
あなたの回答
tips
プレビュー