草庐IT

可变数组

全部标签

javascript - hasOwnProperty() 不适用于 Chrome 中的数组

我继承了一些Javascript代码,但我并不是真正的Javascript专家。我们有一个对象,它的行为类似于散列和值的集合,称为buckets。它具有作为哈希值的属性,每个属性都是一个对象。这是它在浏览器调试器中的样子:我们有一个containsKey()函数,它使用hasOwnProperty()检查buckets对象中是否存在哈希。containsKey:function(key){varhash=this.comparer.getObjectHashCode(key);if(!this.buckets.hasOwnProperty(hash))returnfalse;varar

javascript - 如何从不可变树中获取更改的树,最大限度地重用节点

我有一个像这样的树结构数据:[{id:54,name:123,children:[{id:54,name:123,children:[{id:154,name:1234,children[]...}]}]},{...}]我使用的是Angular2。据我所知,每当输入发生变化并且您的变化检测策略是onPush时,变化检测就会启动。.为了优化树结构更新(例如,在嵌套级别切换节点或更改此类节点的任何属性),我使用了Immutable.Immutable如何帮助我优化更新?我读到Immutable会在数据发生变化时重用旧数据的引用来构造新对象。如何有效地使用不可变数据结构来更新嵌套级别的节点?

javascript - 如果在 JavaScript 中的对象数组中找到对象的属性,则返回该对象的属性

我有以下对象数组:varcontacts=[{"firstName":"Akira","lastName":"Laine","number":"0543236543","likes":["Pizza","Coding","BrowniePoints"]},{"firstName":"Harry","lastName":"Potter","number":"0994372684","likes":["Hogwarts","Magic","Hagrid"]},{"firstName":"Sherlock","lastName":"Holmes","number":"0487345643",

javascript - 为什么我不能使用 array == [] 检查数组是否为空?

这是一个来自CodeWars的问题,名为“Countofpositives/sumofnegatives”。它说:Iftheinputarrayisemptyornull,returnanemptyarray为了检查数组是否为空,我决定检查它是否为空数组。当我尝试这样做时:if(input==[])我没有通过测试,但如果我通过了:if(input.length==0)我通过了测试。空数组应该等于[]对吗?为什么会有差异,这两种检查有什么区别?我的代码如下:functioncountPositivesSumNegatives(input){vara=0;varb=0;if(input==

javascript - 有效地将一个数组中的字段合并到另外两个数组中

假设您有三个对象数组:leta1=[{id:1,name:'foo'},{id:2,name:'bar'},{id:3,name:'baz'}]leta2=[{name:'foo'},{name:'bar'}]leta3=[{name:'bar'},{name:'baz'}]目标是以a1为源,在a2和a3id字段与a1中相应的name字段。实现这一目标的有效方法是什么?(注意:这里的“高效”意思是“比循环内循环更优雅的东西”。)结果应该是这样的:a2:[{id:1,name:'foo'},{id:2,name:'bar'}]a3:[{id:2,name:'bar'},{id:3,nam

javascript - 按值的子数组过滤对象数组

这是我正在尝试做的事情:movies=[{'title':'a','genres':['Romance','Comedy']},{'title':'b','genres':['Drama','Comedy']},{'title':'c','genres':['Action','Adventure']}]filters=['Romance','Drama']过滤数组的期望内容:[{'title':'a','genres':['Romance','Comedy']},{'title':'b','genres':['Drama','Comedy']}]问题是我不确定如何在给定另一个值数组的情

javascript - 检查映射数组中的项目是否共享值

我正在使用React和moment.js构建新闻提要。使用.map我正在渲染带有标题和内容的项目。我想检查一个项目是否与另一个项目在同一年和同一月发布。如果是这种情况,我想隐藏第二个项目的标题。Pleaseseemyfiddle目前我的代码呈现这个:2018年3月新闻一2018年3月新闻二2017年9月新闻三2017年6月新闻四SinceitemoneandtwosharethesamemonthandyearIwouldliketorenderlikethisinstead:2018年3月新闻一新闻二2017年9月新闻三2017年6月新闻四Basedonthisanswer我试图找到

JavaScript:获取数组中的平均对象?

我正在尝试想出一种方法来简化这段代码,使用最少的循环和变量,但我遇到了麻烦。我想根据“值”获取数组“数字”中的平均对象。我觉得必须有一种数学方法可以在不在另一个循环中找到最接近的平均值的情况下获得平均值。目前我有这个烂摊子:varnumbers=[ {value:41}, {value:19}, {value:51}, {value:31}, {value:11}];//Findaverage:varsum=0;for(vari=0;i我需要检索该对象,因为它包含我需要使用的其他信息。非常感谢任何帮助! 最佳答案 至少你需要两个循环

javascript - 按字段名从数组中删除元素

我有下一个数组:0:{id:"10",tipo:"work"}1:{id:"11",tipo:"work"}2:{id:"24",tipo:"school"}3:{id:"9",tipo:"work"}4:{id:"25",tipo:"school"}我想做的是从数组中删除一个元素,其中两个值匹配,例如,如果id=24和tipo=school,则数组位于位置2,必须删除,我有这个函数可以通过值找到数组键:functioneliminarElementoArray(array,val1,val2){for(vari=0;i该函数无法正常工作,在某些情况下它返回false,在其他情况下,它

javascript - 在不使用 async/await 的情况下按顺序执行 promise 数组

假设我有一系列promise。我的数组中的每个元素都是一个knex.js查询生成器,并准备好执行并返回一个promise。如何按顺序运行此数组的每个元素。该数组是动态构建的。letpromisesArray=[q1,q2,q3];每个q本身不是一个promise,但它会在执行时返回一个promise。 最佳答案 这里可能是一个可能的选择:letp=Promise.resolve([]);promisesArray.forEach(q=>{p=p.then(responses=>{//basedonthenatureofeachq,t