草庐IT

array_replace

全部标签

javascript - Jasmine array.length 期望

我是jasminejs测试框架的新手,今天得到了一些奇怪的结果。参见以下代码(search是一个执行api请求并返回promise的函数):it('shouldbeabletosearch',function(){search('string').done(function(result){expect(result.length).toBeGreaterThan(1);//trueconsole.log(result.lenght);//undefined});});问题是,由于一些我必须修复的错误,promise的结果是未定义的,但测试被标记为Success。我发现这是一种误导,如

javascript - 为什么 string.replace(/\W*/g ,'_' ) 在所有字符前加上?

我一直在学习js中的正则表达式,遇到一个我不明白的情况。我使用以下正则表达式对替换函数进行了测试:/\W*/g并期望它在字符串的开头添加前缀并继续替换所有非单词字符。TheNumberis(123)(234)会变成:_The_Number_is__123___234_这将在字符串前面添加,因为它至少有零个实例,然后替换所有不间断空格和非单词字符。相反,它在每个字符前加上所有非单词字符。_T_h_e__N_u_m_b_e_r__i_s__1_2_3__2_3_4__为什么要这样做? 最佳答案 问题是\W*的意思。它的意思是“0个或多个

javascript - 未捕获的类型错误 : Cannot call method 'replace' of null

如果我在ChromeJS控制台上输入“_.template($('#pranks-list').html())”,它也能正常工作>>_.template($('#pranks-list').html())function(a){returne.call(this,a,b)}应用程序.js//Viewwindow.PranksListView=Backbone.View.extend({template:_.template($('#pranks-list').html())});索引.html'>为什么我会在这一行出现这个错误??template:_.template($('#pran

javascript - jquery .replace(/./g, "") 对我不起作用,但对其他人不起作用

我在某处找到了这段代码,它非常有用:varn=parseInt(e.find("span.favNum").text().replace(/./g,""))+1;如果我以类似的方式进行操作,它就不再起作用了。我做了以下事情:6.987vartest=$("#test");varr=test.text().replace(/./g,"");console.log("wrong",r);我知道我也可以这样替换它:varr=test.text().replace(".","");这有效。我想了解为什么“被盗”的代码段有效。有什么想法吗?http://jsfiddle.net/nJZMf/3/

javascript - React : Given an array, 有效地以相反的顺序渲染元素

我目前以典型的React风格呈现列表。该列表作为数组属性传递,我像这样映射它:{this.props.myList.map(createListItem,this)}因此,当添加一个新元素时,它看起来像是最新的项目被添加到列表的末尾。我希望最新的项目出现在顶部。即一切都按时间倒序出现。到目前为止,我想到的两个选项是:1)反转列表,每次添加内容时创建一个新数组,并将这个反转列表作为prop传递。2)使用shift。但由于性能原因,它们都没有吸引力。我不知道Javascript支持倒序映射。我一直在尝试for循环,但一直无法让它工作。在React中以相反顺序呈现数组的惯用方法是什么?

arrays - JavaScript null 和加号 (+) 运算符

我正在努力理解JavaScript的核心。我知道它没有太多的实现值(value)。如果你不想回答,就离开吧。但是,如果您能在应用加法(+)时帮助理解以下类型强制转换,我将不胜感激。1.null+null//02.null+undefined;//NaN3.null+NaN;//NaN4.1+null;//15.true+null;//16.true+[null];//"true"我知道null是一个空对象或缺失对象。如果您能在这里解释类型强制或一元(+)操作的步骤,我将不胜感激。感谢您阅读问题。 最佳答案 这包含在11.6.1The

javascript - ReactJS Array.push 函数在 setState 中不起作用

到目前为止,我正在制作一个包含3个问题的原始测验应用程序,全部为真或假。在我的handleContinue方法中,有一个调用将用户输入从radio表单推送到userAnswers数组。它在第一次运行handleContinue时运行良好,之后它抛出一个错误:UncaughtTypeError:this.state.userAnswers.pushisnotafunction(...)importReactfrom"react"exportdefaultclassQuestionsextendsReact.Component{constructor(props){super(props)

javascript - Array.fill 重复相同的对象。为什么?

这个问题在这里已经有了答案:Array.prototype.fill()withobjectpassesreferenceandnotnewinstance(7个答案)关闭3年前。vararr=newArray(4).fill({});arr[2].status=true;console.log(arr[0].status);为什么数组填充在所有索引中填充相同的对象?

JavaScript 错误 : "ReferenceError: array is not defined"

我想制作一个JavaScriptarray并通过post请求将其传递到php中的另一个页面我在firebug中遇到错误:ReferenceError:arrayisnotdefined代码如下:$(document).ready(function(){vardata=newarray();//thislinethrowstheerror//HandleSubmitingformdata$("#btnSumbit").click(function(){$('#tblCriteriainput[type=text]').each(function(){data[this.id]=this.

javascript - JS : Filter object array for partial matches

是否可以过滤那些与搜索字符串匹配的对象?constarr=[{title:'Justanexample'},{title:'Anotherexam'},{title:'Somethingdifferent'}]我试过了arr.filter(x=>{returnx.title===searchStr});但这只会过滤完全匹配项,但我需要找到所有部分匹配项。letsearchStr='exam'应该给我两个对象(第一个和第二个),letsearchStr='examp'应该只给我一个对象作为结果。 最佳答案 根据您的问题,我假设您还想匹