2017-08-17 9 views
0

私は、検索をロードし、配列に結果をプッシュすることにより、オブジェクトの配列を作成しようとしています:NetSuiteの保存済み検索にユーザーレコードを一致させるにはどうすればよいですか?

var searchArr = []; 

    var dfaSearch = search.load({ 
     id: 'id_of_search' 
    }); 

    var runSearch = dfaSearch.run().getRange({ 
     start: 0, 
     end: 100    
    }); 
    for (x=0; x<runSearch.length;x++) { 
     var engine = runSearch[x].getValue({ 
      name: 'id_of_department_column' 
     }) 
     var approver = runSearch[x].getValue({ 
      name: 'id_of_approver_column' 
     }); 
     var lowT = runSearch[x].getValue({ 
      name: 'id_of_lowerapproval_column' 
     }); 
     var upT = runSearch[x].getValue({ 
      name: 'id_of_upperapproval_column' 
     }); 

     var searchCriteria = { 
      engine : engine, 
      approver: approver, 
      lowT : lowT, 
      upT : upT 
     }; 

     searchArr.push(searchCriteria); 
    } 

私が内部IDをつかむために、現在のユーザーのレコードをロードするいくつかのより多くのコードを持っている、などしかし、

function findApprover(approverInfo) { 
    return approverInfo.engine === '26'; 
} 
var approverInfo = searchArr.find(findApprover); 
log.debug({ 
    title : 'Current User Approver ID', 
    details : approverInfo 
}); 

} 

どれHEL:ここ

TypeError: Cannot find function find in object. 

コードの残りの部分である:部門の静的IDでテストしようとしたとき、私は、受信を続けますpは大変ありがとう!

答えて

0

findメソッドはES2015で導入され、NetSuiteではサポートされていません。あなたはfindようES2015方法についてpolyfillsが含まunderscoreのようなサードパーティのライブラリを使用して試みることができる:

function findApprover(approverInfo) { 
    return approverInfo.engine === '26'; 
} 

var approverInfo = _.find(searchArr, findApprover); 

log.debug({ 
    title : 'Current User Approver ID', 
    details : approverInfo 
}); 

またはループのために使用して、例えば、別の方法で承認を検索:

function findApprover(array, key, value) { 
    for (var i = 0; i < array.length; i++) { 
     if (array[i][key] === value) { 
      return array[i]; 
     } 
    } 
    return null; 
} 

var approverInfo = findApprover(searchArr, 'engine', '26'); 

log.debug({ 
    title : 'Current User Approver ID', 
    details : approverInfo 
}); 
+0

アンドレありがとう!アンダースコアライブラリを実際に動作させる方法を理解することはできませんが、2番目のソリューション(forループ)は完全に機能しました。 –

関連する問題