内の処理JSONデータは本当に誰かが支援することができます願って、私はJSON、すなわちで動作するようにOracle APEXのV4.2でJavaScript動的アクション内で、次のコードを持っている:のOracle APEX v4.2の
var graph_data = $v('P780_GRAPH_DATA');
var rule_data = $v('P780_RULE_DATA');
var unique = function(origArr) {
var newArr = [],
origLen = origArr.length,
found, x, y;
for (x = 0; x < origLen; x++) {
found = undefined;
for (y = 0; y < newArr.length; y++) {
if (origArr[x] === newArr[y]) {
found = true;
break;
}
}
if (!found) {
newArr.push(origArr[x]);
}
}
return newArr;
}
var accessLines = graph_data.filter(function (line) {
return !isTrunkLine(line);
});
var trunkLines = graph_data.filter(isTrunkLine);
accessLines.forEach(drawLine);
trunkLines.forEach(drawLine);
function isTrunkLine(intf_type) {
var purpose = intf_type.purpose;
return purpose === 'TRUNK';
}
作業している場合OracleのAPEXのこの外部とちょうどjavascriptのコードが含まれている別のHTMLファイル内に、すべてが正常に動作しますが、今のOracle APEXにこれを移動する必要が、私は次のエラーを取得しています:
Uncaught TypeError: graph_data.filter is not a function
わからない私は何間違っていますが、基本的にはgraph_da内に有効なJSONオブジェクトがあります私はJSONLintを使って実行していますが、問題が何であるかはわかりません。
ご協力いただければ幸いです。
ありがとうございました。
'$ v( 'P780_GRAPH_DATA')'が返されますか?配列でなければなりません。 – Tom
@Tom私は実際にJSONをselectステートメントで作成します。このステートメントでは角括弧 "["と "]"を囲むので、文字列のように見えます。基本的には、VARCHAR2を返す関数呼び出しです。どのようにして配列plsに変換できますか? – tonyf
この文字列はどうやって取得できますか? ajaxコールを介して? – Tom