草庐IT

ES条件查询

全部标签

javascript - React ES6 父子组件状态问题

我是React的新手,正在尝试基于react-starter-kit构建一个简单的ToDo应用程序。我正在使用ES6类,但无法找到从子组件更新父状态的方法。代码如下:importReact,{PropTypes,Component}from'react';importwithStylesfrom'../../decorators/withStyles';importstylesfrom'./ToDoPage.less';@withStyles(styles)classToDoPageextendsComponent{staticcontextTypes={onSetTitle:Prop

javascript - Lodash - 从 Map 方法有条件地返回对象

我想遍历一个数组,运行一个计算,如果结果的条件为真,则返回一个新对象。_.filter(...)在这里不起作用,因为迭代器函数必须返回true或false。_.map(people,function(person){varage=calculateAge(person.birthDate);if(age>50){return{person:person,age:age};}});我已经尝试搜索所有内容,包括文档,但我还没有找到一种很好的方法。 最佳答案 听起来你可能想要reduce而不是map:varnewArray=_.reduc

javascript - ES6 类超出最大调用堆栈大小

这个问题在这里已经有了答案:JavaScriptclasseswithgetterandsettercauseRangeError:Maximumcallstacksizeexceeded(5个答案)关闭7年前。我正在尝试使用新的ES6Class关键字,我有一个时髦的场景,它给我一些无限循环并最终Maximumcallstacksizeexceeded。这是我的类(class):'usestrict';classGroup{setname(newName){this.name=newName;}}module.exports=Group;我用这个mocha测试调用它:'usestric

javascript - 为什么即使条件为真也会执行 else block ?

几分钟前,我在Codeacademy上练习了一些JavaScript,我发现了一些令人困惑的东西。这是代码:varfriends={};friends.bill={firstName:"Bill",lastName:"Gates",number:"(206)555-5555",address:['OneMicrosoftWay','Redmond','WA','98052']};friends.steve={firstName:"Steve",lastName:"Jobs",number:"(408)555-5555",address:['1InfiniteLoop','Cuperti

javascript - 浅拷贝对象遗漏了 ES6/ES7 中的一个或多个属性?

这就是我一直在做的:varprops={id:1,name:'test',children:[]}//copypropsbutleavechildrenoutvarnewProps={...props}deletenewProps.childrenconsole.log(newProps)//{id:1,name:'test'}有没有更干净、更简单的方法? 最佳答案 你可以使用destructuringassignment:varprops={id:1,name:'test',children:[]}var{children:_,.

javascript - 我如何推迟像 jquery Deferred 这样的 ES6 promise?

1。使用es6promise,但语法不正确。我正在使用es6,并且想做一个延迟的确认对话框://First,createanemptypromise:letpromise=newPromise((resolve,reject)=>{})//Then,showthedialog:let$dialog=$('#dialog-confirm').show();//FAIL:Iwanttotriggerthepromiseresolver,butfailed.$dialog.find('.btn-yes').click(()=>{promise.resolve();})$dialog.find

javascript - 如何重复 ajax 请求,直到满足 RxJS Observable 的条件?

我正在尝试重复请求,直到响应包含使用RxJS的数据,此时我想调用成功(或失败)处理程序,但我在使用RxJS时遇到了麻烦。这是我目前的做法://...redux-observableactionobservable.mergeMap(()=>fetchData().repeatWhen(response=>response.takeWhile(({data})=>!data.length).of(response))).map(successFunction).catch(failureFunction);免责声明:我对RxJS很陌生.... 最佳答案

javascript - 如何使用 Javascript ES6 ES2015 模块将常量直接导出/导入到导入模块命名空间?

好吧,我不太能找到这个问题的答案。我正在使用webpack和babeles2015preset来处理ES2015模块。要导出的模块1,文件名“foobar.js”exportconstFOO='foo'exportconstBAR='bar'有没有办法将这个常量导入我的导入模块中的全局命名空间?我想在将使用常量的模块中执行此操作:import'foobar'constdoSomething=()=>{console.log(FOO+BAR)}我知道这行得通:import*asCONSTANTSfrom'foobar'constdoSomething=()=>{console.log(C

javascript - ES6 : Filter data with case insensitive term

这就是我按标题值过滤一些数据的方式:data.filter(x=>x.title.includes(term))这样的数据SampleoneSampleTwoBlatwo将被“减少”为Blatwo如果我按两个过滤。但是我需要得到过滤后的结果SampleTwoBlatwo 最佳答案 您可以使用不区分大小写的正则表达式://Notethatthisassumesthatyouarecertainthat`term`contains//nocharactersthataretreatedasspecialcharactersbyaRegE

javascript - 使用 es6 数组方法从数组中提取第一个对象

我有这段代码来获取一个对象的数组:letselectedShop=initialResultsState.get('products').filter(product=>product.shop.selected)console.log(selectedShop)结果:我能否在同一操作中通过将另一个es6数组方法串接到filter的末尾来从数组中提取对象,而不是执行letnewVariable=selesctedShop[0]?我试着把它串起来:.map(x=>{return{shop:x.shop,products:x.products}})但它仍然是一个对象的数组,因为map总是返