草庐IT

map函数

全部标签

javascript - 将父作用域中的变量传递给回调函数

这更像是一个JavaScript闭包问题,而不是一个Firebase问题。在以下代码中,Firebase回调无法识别父作用域中的变量myArr。functionshow_fb(){varmyArr=[];varfirebase=newFirebase('https://scorching-fire-6816.firebaseio.com/');firebase.on('child_added',function(snapshot){varnewPost=snapshot.val();myArr.push(newPost.user);console.log(myArr);//works}

javascript - 是否有一种纯 Javascript 方法可以将一个函数应用于多个元素的事件?

我想使用纯Javascript将单个函数绑定(bind)到多个事件。在jQuery中我会使用:$('.className').click(function(e){//dostuff});所以我尝试使用纯JS:document.getElementsByClassName('className').onclick=function(e){//dostuff};这不起作用,因为getElementsByClassName返回一个数组,而不是DOM对象。我可以遍历数组,但这似乎过于冗长而且似乎没有必要:vartopBars=document.getElementsByClassName('c

javascript - 外部 JavaScript 函数未定义,但存在

我有2个文件,一个HTML,一个JavaScript。JavaScript文件(contacts.js):functionadd_contact(){//RestofCodehere}HTML文件:我有一个按钮,当它被点击时,它会调用“add_contact”函数:Savechanges当JavaScript代码是HTML文件的头部时,该函数可以正常工作。但是,现在它是外部文件的一部分,它会返回以下错误:UncaughtReferenceError:add_contactisnotdefined我对这个有点迷茫,所以任何帮助都会很棒! 最佳答案

javascript - 绑定(bind)函数为空

functionf(){returnthis.x}f=f.bind(null)f()//undefinedx=1f()//1我找不到任何显示绑定(bind)到null或undefined无效的页面。到处都写着this成为bind的第一个参数的链接,没有提到异常(exception)情况。有人可以提供指向描述此类行为的地方的链接吗? 最佳答案 这种行为在严格模式和非严格模式之间是不同的。在非严格模式下,如果将thisArg设置为null或undefined,则this将是强制到全局对象(window)。在严格模式下,this可以是nu

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 - 如何在javascript中动态创建一个包含值数组的 map

我有这个需求。根据函数中传递的参数数量,我需要在map中创建那么多条目。假设我有一个函数myfunc1(a,b,c),我需要一个键为“a”、“b”和“c”的映射,并且每个键可以有多个值。但问题是我事先不知道这些键会有多少值。当值出现时,我需要将它们添加到与映射中的匹配键对应的值列表中。我如何在javascript中执行此操作?我找到了如下静态答案。但我想动态地做到这一点。我们可以使用push方法吗?varmap={};map["country1"]=["state1","state2"];map["country2"]=["state1","state2"];

javascript - 不能将 String.prototype.match 用作 Array.some 的函数吗?

这行不通:vars='^foo';console.log(['boot','foot'].some(s.match));UncaughtTypeError:String.prototype.matchcalledonnullorundefined但是这样做:vars='^foo';console.log(['boot','foot'].some(function(i){returni.match(s)}));这是为什么?我以某种方式想象String.prototype.match函数太“原始”之类的,但究竟是为什么呢?因为我没有使用ES2015,所以第二个版本看起来很冗长。有替代方案吗

javascript - Express - 在中间件函数之间传递数据的更好模式

我刚刚在Express中提出了这个问题,我对StackOverflow对此的看法很感兴趣:https://github.com/strongloop/express/issues/2831我的问题是为什么Express选择不允许开发人员在中间件函数之间直接传递数据,并且基本上强制您将临时数据分配给请求对象,我一直认为这是一个非常尴尬的事情作业。更具体地说:在中间件函数之间传递数据通常涉及这样做req.specialData={}next();但是,如果可能的话,它可能会更容易且性能更高(!)next(null,data);或functionmySpecialMiddleWare(req

javascript - 在 React 组件中哪里应用我的 moment() 函数?

我正在尝试做一个时钟组件,只是为了在网页中以本地格式提供日期和时间。我在我的webpack环境中使用命令行npmimoment--save导入了MomentJS。接下来,我将其写入我的Clock.jsx组件(主要基于网站上的React示例)。importReactfrom'react';importMomentfrom'moment';exportdefaultclassClockextendsReact.Component{constructor(props){super(props);this.state={dateTimestamp:Date.now()};}tick=()=>{

javascript - 为每个订阅者评估的 rxjs map 运算符

为什么map运算符针对每个订阅者而不是一次进行评估?constobs1=Rx.Observable.interval(1000).take(1).map((x,i)=>{console.log(i+1+':1map')return'obs1';})constobs2=Rx.Observable.interval(1300).take(1).map((x,i)=>{console.log(i+1+':2map')return'obs2';})constobs3=Rx.Observable.interval(1700).take(2).map((x,i)=>{console.log(i+1