第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

大佬們遇到過(guò)這個(gè)問(wèn)題嗎?js中動(dòng)態(tài)生成的方法,怎么寫(xiě).d.ts文件?十分感謝

大佬們遇到過(guò)這個(gè)問(wèn)題嗎?js中動(dòng)態(tài)生成的方法,怎么寫(xiě).d.ts文件?十分感謝

千萬(wàn)里不及你 2019-07-27 00:42:05
typescript中的Array類(lèi)沒(méi)有像AS3那樣的sortOn方法,在github上找了一個(gè)庫(kù),https://github.com/gonchuki/m...就一個(gè)文件,但這個(gè)文件中sortOn方法是動(dòng)態(tài)生成的。代碼如下/*---script:Array.sortOn.jsdescription:AddsArray.sortOnfunctionandrelatedconstantsthatworkslikeinActionScriptforsortingarraysofobjects(applyingallsamestrictrules)license:MIT-stylelicense.authors:-gonchukidocs:http://www.adobe.com/livedocs/flash/9.0/ActionScriptLangRefV3/Array.html#sortOn()requires:-core/1.2.4:[Array]provides:-[Array.sortOn,Array.CASEINSENSITIVE,Array.DESCENDING,Array.UNIQUESORT,Array.RETURNINDEXEDARRAY,Array.NUMERIC]...*/Array.CASEINSENSITIVE=1;Array.DESCENDING=2;Array.UNIQUESORT=4;Array.RETURNINDEXEDARRAY=8;Array.NUMERIC=16;(function(){vardup_fn=function(field,field_options){varfiltered=(field_options&Array.NUMERIC)?this.map(function(item){returnitem[field].toFloat();}):(field_options&Array.CASEINSENSITIVE)?this.map(function(item){returnitem[field].toLowerCase();}):this.map(function(item){returnitem[field];});returnfiltered.length!==[].combine(filtered).length;};varsort_fn=function(item_a,item_b,fields,options){return(functionsort_by(fields,options){varret,a,b,opts=options[0],sub_fields=fields[0].match(/[^.]+/g);(functionget_values(s_fields,s_a,s_b){varfield=s_fields[0];if(s_fields.length>1){get_values(s_fields.slice(1),s_a[field],s_b[field]);}else{a=s_a[field].toString();b=s_b[field].toString();}})(sub_fields,item_a,item_b);if(opts&Array.NUMERIC){ret=(a.toFloat()-b.toFloat());}else{if(opts&Array.CASEINSENSITIVE){a=a.toLowerCase();b=b.toLowerCase();}ret=(a>b)?1:(a1)){ret=sort_by(fields.slice(1),options.slice(1));}elseif(opts&Array.DESCENDING){ret*=-1;}returnret;})(fields,options);};Array.implement({sortOn:function(fields,options){fields=$splat(fields);options=$splat(options);if(options.length!==fields.length)options=[];if((options[0]&Array.UNIQUESORT)&&(fields.some(function(field,i){returndup_fn(field,options[i]);})))return0;varcurry_sort=function(item_a,item_b){returnsort_fn(item_a,item_b,fields,options);};if(options[0]&Array.RETURNINDEXEDARRAY)returnthis.slice().sort(curry_sort);elsethis.sort(curry_sort);}});})();我在TS項(xiàng)目里增加了這個(gè)類(lèi)的引用,并嘗試寫(xiě)了.d.ts文件interfaceArray{CASEINSENSITIVE;DESCENDING;UNIQUESORT;RETURNINDEXEDARRAY;NUMERIC;sortOn(fields,options):any;}代碼里可以調(diào)用到sortOn方法,編譯不報(bào)錯(cuò)。但運(yùn)行時(shí)sortOn方法是undefined的。誰(shuí)試過(guò)這種情況?該如何設(shè)置js文件,以及如何寫(xiě)這個(gè).d.ts文件或者我怎么才能給Array加上sortOn方法?
查看完整描述

2 回答

?
明月笑刀無(wú)情

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超4個(gè)贊

用了這個(gè)庫(kù)sort-on-as3他自己提供了一個(gè).d.ts的文件。TS代碼中,使用sortOn之前,在全局加上以下代碼:
constsortOn=require('sort-on-as3');
sortOn.extend(Array);
親測(cè)可用。但本問(wèn)題仍然沒(méi)有解決:動(dòng)態(tài)生成的js方法,.d.ts文件里要怎么寫(xiě)?
                            
查看完整回答
反對(duì) 回復(fù) 2019-07-27
?
POPMUISE

TA貢獻(xiàn)1765條經(jīng)驗(yàn) 獲得超5個(gè)贊

Array不是定義在globals.d.ts嗎。
不要改原生的定義,否則你一錯(cuò)影響的范圍不知道有多廣。
繼承一個(gè)Array,通過(guò)(arrasMyArray).sortOn訪問(wèn)。
                            
查看完整回答
反對(duì) 回復(fù) 2019-07-27
  • 2 回答
  • 0 關(guān)注
  • 214 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)