首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >符文库Javascript

符文库Javascript
EN

Stack Overflow用户
提问于 2018-02-23 15:41:43
回答 2查看 228关注 0票数 1

简单的问题是,我正在整理一些笔记,每当我想对那些以表情开始的工具提示进行排序时,我就会遇到一个问题(因为.substr(0,1)给我的?(表情符号取2 )。因此,由于我想保留"HELLO“的工具提示-作为H的表情符号,我需要使用.substr(0,2),但所有其他笔记有2个字符,例如。你好他是。

不过,我发现了符文https://www.npmjs.com/package/runes

所以现在的问题是,我不想重复,通过runes.substr运行每一个音符(“我的许多笔记”,1)我想让一个可变的跑步者。

示例

代码语言:javascript
复制
var str = "Hello world!";
var res = str.substr(0,1); 

正如您可以看到的那样,JS刚才说,str.substr,我的问题是我如何做str.runes.substr或任何其他方式来实现相同的事情。提前感谢!

代码语言:javascript
复制
var runes = require("runes")    
var tooltip = 'sdas dsa'
tooltip.runes.substr(0, 1);
EN

回答 2

Stack Overflow用户

发布于 2018-02-23 15:50:36

Runes.substr(工具提示,0,1) -将是一个解决方案

票数 0
EN

Stack Overflow用户

发布于 2018-02-23 16:00:10

首先,我将回答您的问题,,但是请阅读底部附近的警告。

从技术上讲,您可以使用String.prototype.func = someFunc使其在字符串中可用:

代码语言:javascript
复制
String.prototype.reverseAndCaps = function () { return `${this}`.split('').reverse().join('').toUpperCase() };

console.log("hello".reverseAndCaps());

在类似的函数中,使用this来引用字符串(通常需要将其转换为字符串以获得基本形式)。

因此,对于您的runes,您可以这样做:

代码语言:javascript
复制
Object.assign(String.prototype, { runes: function() { 
  // replace this object with `runes` itself
  return {
    substr: (...args) => this.substr.apply(this, args)
  }; 
} });

console.log("hello".runes().substr(0, 2));

注意,为了正确地绑定"this“,runes()需要包装在一个函数中。您可以使用其他方法来避免这样做,但它们必须应用于每个字符串。

尽管如此,强烈建议您不要这样做。更改原语会导致各种意外的副作用,并使您的代码更难以维护,因为您有各种各样的神奇的额外的东西,而这些东西从何而来可能并不明显。

更别提了,说runes.substr(str, 0, 1)并不比str.runes.substr(0, 1)短。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48951467

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档