草庐IT

String-Length

全部标签

javascript - 类型 'string | ArrayBuffer' 不可分配给类型 'string'

从FileReader读取字符串的TypeScript错误读取文件内容的简单代码:constreader:FileReader=newFileReader();reader.readAsText(file);reader.onload=(e)=>{constcsv:string=reader.result;->gettingTSerroronthisline}我得到的TypeScript错误:Type'string|ArrayBuffer'isnotassignabletotype'string'.Type'ArrayBuffer'isnotassignabletotype'strin

javascript - 如何从 HH :MM AM time string in Javascript? 中减去小时数

从这样格式化的时间字符串中减去几个小时的最佳方法是什么:8:32AM我考虑过在冒号处拆分字符串,但是当从1:00AM减去3小时时,我得到-2:00AM而不是所需的10:00PM。 最佳答案 最可靠的方法是将它转换成一个JS日期对象,然后你算一下varolddate=newDate(2011,6,15,8,32,0,0);//createadateofJun15/2011,8:32:00amvarsubbed=newDate(olddate-3*60*60*1000);//subtract3hoursvarnewtime=subbed

javascript - Google 电子表格脚本 getValues - 强制使用 int 而不是 string

有没有办法强制.getRange().getValues()返回一个int?尽管我的范围内只存在数字,但它会将它们作为字符串返回。我想避免在我的每个语句中使用parseInt或创建一个包含转换值的单独数组。或者这是唯一的解决方案,获取数组然后在循环中解析整个数组? 最佳答案 您可以使用一元“+”运算符轻松完成此操作,如下所示:首先使用getValue()或getValues()从电子表格中获取值。假设您得到两个这样的值,并将它们存储在A=1和B=2中。您可以使用除+之外的任何数学二元运算符强制将它们识别为数字,它连接字符串,因此A-

javascript - String.prototype.localeCompare 处理大小写不一致?

请参阅以下最小示例。所有示例都在Chrome76.0.3809.100、Firefox68.0.2和Node.js11.15.0中进行了测试。所有结果都相同。为了完整起见,提供了所有相关选项(但它们并不真正重要:默认的sensitivity是'variant',其工作方式几乎相同作为无重音字符的'case',使用默认的'sort'用法。没有设置能够解决下面详述的矛盾。我也尝试了几种语言选项,但无济于事。示例1.以下是正确的:'a'出现在'b'之前。constresult='a'.localeCompare('b','en',{sensitivity:'case',usage:'sort

javascript - 在String.prototype.slice()中,.slice(0,-0)和.slice(0,+0)应该输出相同的结果吗?

我在代码高尔夫游戏中尝试优化字符串复数时遇到了这个怪癖。我的想法是将字符串写成复数形式,然后使用substr有条件地切断最后一个字符:varcounter=1;varmyText=counter+"units".substr(0,6-(counter===1));很好-它可以满足我的要求。但是看着MDNdocsforString.prototype.slice(),我想我找到了一种方法,甚至更短,方法是使用传递负零作为函数的第二个参数。来自文档:endSliceOptional.Thezero-basedindexatwhichtoendextraction.Ifomitted,sli

javascript - 导入意外标识符 + SyntaxError : Unexpected string

我在运行Jest测试时遇到了问题。我收到一个导入的意外标识符我已经尝试清理npm缓存和installingnpmbabeljest,polyfill,preset-es2015。我也readthis在这里和那里尝试一些不同的配置。这是我的babel.config.jsmodule.exports={presets:['@vue/app'],env:{test:{plugins:["transform-strict-mode","transform-es2015-modules-commonjs","transform-es2015-spread","transform-es2015-d

javascript - Angular 5 HttpClient : Send POST params as URL encoded string

Angular5.0.1我正在查看AngularHttpClient的文档:https://angular.io/guide/http,但我似乎无法弄清楚如何将POST参数作为URLEncoded字符串而不是JSON字符串发送。例如,我的Javahttp客户端默认会这样发送:username=test%40test.com&password=Password1&rolename=Admin但是Angular想要默认发送为Json:{"username":"test@test.com","password":"Password1","rolename":"Admin"}这是我目前的代码:

javascript - 为什么 ({}+{}).length 等于 30?

{}到字符串?谁能告诉我为什么是30?({}+{}).length//=30?但这是0?([]+[]).length//=0? 最佳答案 这是预期的行为。当您在2个数组上使用+运算符时,两个数组都将转换为字符串,这与调用.join(',')基本相同。如果两个数组都是空的,您将得到两个空字符串的连接,得到一个长度为0的空字符串。([]+[])=""但是对于对象,将它们转换为字符串的方式是不同的。默认情况下,+运算符会将对象转换为字符串,这将导致字符串"[objectObject]"执行两次,您将得到一个30个字符长的字符串。({}+{

javascript - `this instanceof String` 和 `"foo"instanceof String` 有什么区别?

我正在像这样扩展对象:Object.prototype.is_a=function(x){returnthisinstanceofx;}一切正常"foo".is_a(String)//true"foo".is_a(Object)//true"foo".is_a(Array)//false"foo".is_a(Function)//false"foo".is_a(Boolean)//false"foo".is_a(Date)//false"foo".is_a(Number)//false"foo".is_a(RegExp)//false但是,当"foo"instanceofString/

javascript - array.length 在 Javascript 中可以小于 0 吗?

因为人们经常使用array.length检查数组是否为空而不是array.length===0我想知道是否存在array.length可能小于0的情况。 最佳答案 不,length数组的是一个非负整数。来自thespec:EveryArrayhasanon-configurable"length"propertywhosevalueisalwaysanon-negativeintegralNumberwhosemathematicalvalueislessthan2^32.(我的重点)所以任何一种检查都很好,并且对于所有数组,两种检