電子書籍の厳選無料作品が豊富!

こんにちは
最近jweb apiを勉強している学生です。
yahoo apiのキーフレーズ解析を用いて何か作ろうとしているのですが少し躓いてしまいました。
下記のプログラムはキーフレーズ解析のサンプルなのですが、このプログラムを一番スコアの高いものだけが表示されるようにしたいです。
どなたか知恵をお貸しいただけないでしょうか?
よろしくお願いします。

//////index.html/////////////////////////////
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>キーフレーズ抽出(Yahoo! API使用)を試す - js do it</title>
<meta name="Description" content="" />
<meta name="Keywords" content="" />

<link rel="stylesheet" type="text/css" media="screen,print" href="style.css" />
</head>
<body>
<!-- generated by: jsdo.it - http://jsdo.it/kjunichi/qpO3 -->
<!-- Copyright kjunichi - http://jsdo.it/kjunichi -->
<!-- Licensed under MIT License - http://www.opensource.org/licenses/mit-license.php -->
<textarea id="targetText" rows="10" cols="45"></textarea>
<input id="start" type="button" value="解析">
<div id="result"></div>
<!-- Begin Yahoo! JAPAN Web Services Attribution Snippet -->
<a href="http://developer.yahoo.co.jp/about">
<img src="http://i.yimg.jp/images/yjdn/yjdn_attbtn1_125_17 … title="Webサービス by Yahoo! JAPAN" alt="Web Services by Yahoo! JAPAN" width="125" height="17" border="0" style="margin:15px 15px 15px 15px"></a>
<!-- End Yahoo! JAPAN Web Services Attribution Snippet -->

<script type="text/javascript" src="http://jsdo.it/lib/jquery-1.6.2/js"></script>

<script type="text/javascript" src="index.js"></script>
</body>
</html>





//////index.js//////////////////////////////////////////////////////////////////

var apiBaseUrl = "http://jlp.yahooapis.jp/KeyphraseService/V1/extr …
var appid = "opensesami";

$(function(){
$("#start").click(function() {
//alert($("#targetText").val());
$.getJSON(apiBaseUrl,
{
"appid" : appid,
"sentence" : $("#targetText").val(),
"output" : "json"
},
function(data) {
//alert(data);
$.each(data, function(item,score){
//alert(item);
$("#result").append(item + "," + score + "<br>");
});
}
);
});
});

A 回答 (2件)

こそーとw。



function(data) {
 var ary = eval('[' + (new Array (102)).join ('[],') + ']');
 var obj, p, t;

 for (var p in data)
  if (data.hasOwnProperty (p))
   (t = data[p]),alert(t),
   ary[t].push ({ item: p, score: t });

 alert([ary[100][0].item, ary[100][0].score]);
 return ary;
}

aryは ちいさいじゅん。
scoreが おなじ ばあいも あるので、そこも はいれつで かえすよ
そーとは、さいそく !!?
    • good
    • 0
この回答へのお礼

ありがとうございました。
ソートまで教えていただき本当に助かりました!
最速か催促かどっちか一瞬迷ったのは内緒ですw

お礼日時:2013/09/08 21:05

function(data) {


 var obj;
 for (var p in data)
  if (data.hasOwnProperty (p))
   if (obj.score <= data[p])
    obj = { item: p, score: data[p] };
 
 alert([obj.item, obj.score]);
}
すでにそーとされてる?

この回答への補足

回答ありがとうございます!
ソートはしてないです・・・
厚かましいお願いになりますがソートのほうも教えてくださると助かります。

補足日時:2013/09/08 18:58
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!