草庐IT

ecmascript-6

全部标签

Javascript - 将值映射到键(反向对象映射)

我想反转对象的映射(可能有重复值)。示例:constcity2country={'Amsterdam':'Netherlands','Rotterdam':'Netherlands','Paris':'France'};reverseMapping(city2country)应该输出:{'Netherlands':['Amsterdam','Rotterdam'],'France':['Paris']}我提出了以下天真的解决方案:constreverseMapping=(obj)=>{constreversed={};Object.keys(obj).forEach((key)=>{r

javascript - ES6 文件上的谷歌地图回调

我正在尝试在ES6文件上添加回调,但找不到它。我收到此错误消息:“initMap不是函数”我的文件是这样的:&callback=initMap">我的js文件是:exportfunctioninitMap(){map=newgoogle.maps.Map(document.getElementById('map'),{center:{lat:-34.397,lng:150.644},zoom:8});fetch('/data/markers.json').then(function(response){returnresponse.json()}).then(plotMarkers);

javascript - 使用变量作为键和值创建对象

我正在学习React,我正在关注quickstartguide,在话题LiftingStateUp我找到了计算器组件classCalculatorextendsReact.Component{constructor(props){super(props);...this.state={scale:'c',temperature:''}}handleCelsiusChange(temperature){this.setState({scale:'c',temperature})}handleFahrenheitChange(temperature){this.setState({scal

javascript - 传播运算符 (...) 在 es6 中的数组中创建额外字段

我想根据onChange事件在相应的indexedarrayofobjects中嵌入一个新的key/value对。但是,它是正确完成的,只是在数组中添加了额外的元素。原始对象数组:0:{data:{…}}1:{data:{…}}2:{data:{…}}3:{data:{…}}4:{data:{…}}取得的成果:0:{data:{…}}1:{data:{…}}2:{data:{…},origin:"UK"}3:{data:{…},origin:"UK"}4:{data:{…}}5:"UK"6:"UK"预期结果:0:{data:{…}}1:{data:{…}}2:{data:{…},ori

javascript - 使用箭头函数将参数传递给回调函数

我知道这是一个duplicatedES5的问题,但我正在寻找ES6箭头函数的语法。我的代码如下:fetchItems=(callback)=>{//Afterajaxsuccesscallback(response);}constmyParams={name:"John"}this.fetchItems((res)=>{console.log(res.data);});对于上述场景,我想在函数调用的同时传递一些参数(myParams),我该如何实现? 最佳答案 你可以这样做:constfetchItems=(callback,...

javascript - 纯函数可以异步吗?

在遍历纯函数的定义时,它通常定义有两个特征:1)给定相同的输入应该产生相同的输出2)不应产生任何副作用这是否也意味着纯函数不应该是异步的?如果没有,怎么会?如果是,我很乐意看到一些JavaScript中的异步纯函数示例。 最佳答案 是的,异步函数通常不是纯粹的,因为它与要求#2冲突:无副作用。我们使用异步函数的大多数事情本质上都是有副作用的:I/O、网络、计时器。但即使我们忽略这些,promises本身也依赖于某种全局状态来实现异步:事件循环。这通常不符合我们对纯度的定义。另一方面,在争论函数的纯度时,我们可以简单地忽略这些,就像我

javascript - 事件处理程序上的 Reactjs 函数绑定(bind)

我试图理解为什么我们必须将对象null绑定(bind)到函数add(text){this.setState(prevState=>({notes:[...prevState.notes,{id:this.nextId(),note:text}]}))}render(){return({this.state.notes.map(this.eachNote)}Addnote)}为什么我们不能只做this.add("NewNote")? 最佳答案 onClick={this.add("NewNote")}会立即运行add()方法,然后将结

javascript - 为什么我在使用 push() 时总是在数组中获取数组?

我正在尝试理解MDN关于.push()的文档和.apply()因为我遇到了一个问题,我最终在项目的数组中得到了一个数组。我已经设置了一些实验代码来说明我的问题。谁能解释为什么foo()中的数组内容打印在另一个数组中?我不明白为什么它不为两个console.log()实例打印一个数组。varanimals=[];varchickens='chickens';varcows='cows';animals.push(cows);animals.push(chickens);console.log(animals);//>Array["cows","chickens"]functionfoo(

javascript - 将真/假数组与其他数组进行比较

比较两个数组并返回包含来自array2的值的第三个数组的最快方法是什么,其中来自array1的关联值是true?constarray1=[true,false,false,true];constarray2=['a','b','c','d'];结果应该是:constresult=['a','d']; 最佳答案 使用过滤器。constarray1=[true,false,false,true];constarray2=['a','b','c','d'];constres=array2.filter((_,i)=>array1[i]);

javascript - Ecmascript 6 是否支持可变的 __proto__ 属性?

在当前的Ecmascript6草案(2012年11月)中,官方支持__proto__属性(第B.3.1节)。这有点令人惊讶,因为在当前的浏览器实现中,__proto__属性已被弃用。如果当前草案成立,ES6是否会完全支持可变原型(prototype)?我能否像目前在Firefox中那样为现有对象提供新原型(prototype)? 最佳答案 目前,计划将可变的__proto__包含在规范中(而不仅仅是在附件b中)。目前的计划是让它成为一个神奇的数据属性,仅存在于Object.prototype上并充当访问器(神奇的部分)。此属性也将是