經常會有字符串轉換處理的場景,比如一個實體user,對應的Restful資源名是復數users,數據庫表名也是users,模型類名可能是User等等,這就需要一個方便的npm包,名字有點奇怪,不過它就是一個單字母:i
npm: https://www.npmjs.com/package/i
cnpm install i --save使用
不一一列舉了,看名字就知道了
var inflect = require("i")(); var inflect = require("i")(true); //如果是傳一個`true`的話就相當于這些方法都加在了String.prototype上,所有的字符串都可以直接用這些方法。 //"messages to store".titleize // === "Messages To Store"Pluralize
inflect.pluralize("person"); // === "people" inflect.pluralize("octopus"); // === "octopi" inflect.pluralize("Hat"); // === "Hats"Singularize
inflect.singularize("people"); // === "person" inflect.singularize("octopi"); // === "octopus" inflect.singularize("Hats"); // === "Hat"Camelize
inflect.camelize("message_properties"); // === "MessageProperties" inflect.camelize("message_properties", false); // === "messageProperties"Underscore
inflect.underscore("MessageProperties"); // === "message_properties" inflect.underscore("messageProperties"); // === "message_properties"Humanize
inflect.humanize("message_id"); // === "Message"Dasherize
inflect.dasherize("message_properties"); // === "message-properties" inflect.dasherize("Message Properties"); // === "Message Properties"Titleize
inflect.titleize("message_properties"); // === "Message Properties" inflect.titleize("message properties to keep"); // === "Message Properties to Keep"Demodulize
inflect.demodulize("Message.Bus.Properties"); // === "Properties"Tableize
inflect.tableize("MessageBusProperty"); // === "message_bus_properties"Classify
inflect.classify("message_bus_properties"); // === "MessageBusProperty"Foreign key
inflect.foreign_key("MessageBusProperty"); // === "message_bus_property_id" inflect.foreign_key("MessageBusProperty", false); // === "message_bus_propertyid"Ordinalize
inflect.ordinalize( "1" ); // === "1st"自定義規則 Custom plural
可以使用正則表達式來定義
inflect.inflections.plural("person", "guys"); inflect.pluralize("person"); // === "guys" inflect.singularize("guys"); // === "guy"Custom singular
inflect.inflections.singular("guys", "person") inflect.singularize("guys"); // === "person" inflect.pluralize("person"); // === "people"Custom irregular
inflect.inflections.irregular("person", "guys") inflect.pluralize("person"); // === "guys" inflect.singularize("guys"); // === "person"Custom human
inflect.inflections.human(/^(.*)_cnt$/i, "$1_count"); inflect.inflections.humanize("jargon_cnt"); // === "Jargon count"Custom uncountable
inflect.inflections.uncountable("oil") inflect.pluralize("oil"); // === "oil" inflect.singularize("oil"); // === "oil"
前后端通用哦...就這樣吧。
原文: https://adonis-china.org/post...
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/17592.html
摘要:如為,小數點后兩位是,存在四舍五入。在中,有一個小坑,就是并不是真正的四舍五入如圖而可以這樣的總結為在奇數的時候,是四舍五入,在偶數的時候是五舍六入函數執行后輸出的提示返回的是數據類型是,所以有時需要進行類型轉換,這樣的函數。 Python語言的概述 Pyhthon 是 蟒蛇的意思。python語言的擁有者是 Python Software Foundation(PSF)RSF是一個非...
摘要:最近在知乎上看到這個作為程序員,有沒有讓你感到既無語又崩潰的程序命名。今天,也分享下最近自己在使用的命名習慣,當然只是個人習慣。但是兩個函數的命名,一個是,另一個是。關于的命名規范,應該很多人都是習慣用大駝峰命名。 把一件平凡的事情做好,很平凡。把一件平凡的事情堅持的做好,很不平凡。 1.前言 如果說計算機科學只存在兩個難題:緩存失效和命名。那么我就覺得命名的難點只有兩個:詞匯量和堅持...
摘要:最近在知乎上看到這個作為程序員,有沒有讓你感到既無語又崩潰的程序命名。今天,也分享下最近自己在使用的命名習慣,當然只是個人習慣。但是兩個函數的命名,一個是,另一個是。關于的命名規范,應該很多人都是習慣用大駝峰命名。 把一件平凡的事情做好,很平凡。把一件平凡的事情堅持的做好,很不平凡。 1.前言 如果說計算機科學只存在兩個難題:緩存失效和命名。那么我就覺得命名的難點只有兩個:詞匯量和堅持...
摘要:最近在知乎上看到這個作為程序員,有沒有讓你感到既無語又崩潰的程序命名。今天,也分享下最近自己在使用的命名習慣,當然只是個人習慣。但是兩個函數的命名,一個是,另一個是。關于的命名規范,應該很多人都是習慣用大駝峰命名。 把一件平凡的事情做好,很平凡。把一件平凡的事情堅持的做好,很不平凡。 1.前言 如果說計算機科學只存在兩個難題:緩存失效和命名。那么我就覺得命名的難點只有兩個:詞匯量和堅持...
閱讀 2006·2021-09-13 10:23
閱讀 2336·2021-09-02 09:47
閱讀 3798·2021-08-16 11:01
閱讀 1220·2021-07-25 21:37
閱讀 1601·2019-08-30 15:56
閱讀 539·2019-08-30 13:52
閱讀 3132·2019-08-26 10:17
閱讀 2447·2019-08-23 18:17