草庐IT

可变数组

全部标签

javascript - 数组和嵌套子数组中的 lodash 属性搜索

我有这个数组:[{id:1,name:'test1',children:[]},{id:2,name:'test2',children:[{id:4,name:'test4'}]},{id:3,name:'test3',children:[]}]如何在这个数组和嵌套的children数组中按id属性进行过滤?例如搜索id=3,应该返回test3对象,搜索id=4应该返回测试4对象。 最佳答案 使用lodash,你可以做这样的事情:_(data).thru(function(coll){return_.union(coll,_.map

javascript - 当元素未知时如何获取数组中元素的计数

所以我想弄清楚如何生成一个关联数组,该数组列出数组的元素以及每个元素出现的次数,而事先不知道元素是什么。举个例子,假设我有一组动物:varanimals=['Rhino','Lion','Dog','Parrot','Parrot','Cat','Zebra','犀牛']我想生成一个最终看起来像这样的对象:{'Rhino':2,'Lion':1,'Dog':1,'Parrot':2,'Cat':1,'Zebra':1}如果我事先知道数组中的动物是什么,我当然可以这样做:varanimalsCount={};varnumberOfRhinos=animals.filter(functio

javascript - 访问 JSON 数组中的对象 (JavaScript)

这个问题在这里已经有了答案:关闭9年前。PossibleDuplicate:Ihaveanesteddatastructure/JSON,howcanIaccessaspecificvalue?我有一个返回JSON数组中的嵌套对象的服务。我如何遍历对象并打印所需的数据?这是我的结果:[{"item1":{"sourceUuid":"5599ffac-4b99-47c7-9370-a25e7e465429","targetUuid":"5599ffac-4b99-47c7-9370-a25e7effffff"}},{"item2":{"sourceUuid":"bf63fe50-8b2b

javascript - 从属性数组创建动态嵌套对象

这听起来像是一项简单的任务,但我不太明白:我有一个数组:vararray=['opt1','sub1','subsub1','subsubsub1']我想从中生成以下对象:{opt1:{sub1:{subsub1:{subsubsub1:{}}}}}我有办法做到这一点,制作一个字符串并使用eval,但我希望避免这种情况,知道吗? 最佳答案 你可以使用reduce:vararray=['opt1','sub1','subsub1','subsubsub1'];varobject={};array.reduce(function(o,s

javascript - 两个包含对象的数组的差分和交集

我有两个数组list1和list2,它们的对象具有某些属性;userId是Id或唯一属性:list1=[{userId:1234,userName:'XYZ'},{userId:1235,userName:'ABC'},{userId:1236,userName:'IJKL'},{userId:1237,userName:'WXYZ'},{userId:1238,userName:'LMNO'}]list2=[{userId:1235,userName:'ABC'},{userId:1236,userName:'IJKL'},{userId:1252,userName:'AAAA'}]

javascript - Immutable.js 插入嵌套对象中的数组

假设有一个对象:constobject={'foo':{'bar':[1,2,3]}}我需要将4插入object.foo.bar数组。现在我是这样做的:constinitialState=Immutable.fromJS(object)constnewState=initialState.setIn(['foo','bar',object.foo.bar.length],4)console.log(newState.toJS())但我不太喜欢它,因为我需要在路径中使用object.foo.bar.length。在我的真实示例中,对象嵌套得更深,获取数组的长度看起来非常难看。还有其他更方

javascript - 如何将数组作为 URL 参数传递?

我想传递一个数组并将其作为URL参数添加到我页面上的链接,因为稍后在服务器端我需要数组中的值。我应该怎么做?myArray=['aaa','bbb','ccc'];$('#myLink').attr({"href":'/myLink?array='+myArray});我不确定这样做是否正确? 最佳答案 您可以序列化JSON:myArray=['aaa','bbb','ccc'];vararrStr=encodeURIComponent(JSON.stringify(myArray));$('#myLink').attr({href

javascript - ES6 将数组映射到不带逗号的字符串

我正在尝试将错误列表映射到将在工具提示中显示的列表中。添加了列表,但在每个li元素之间添加了一个,。我想这是因为这基本上是errors.map(error=>...).toString()最后。有什么想法可以在不添加逗号的情况下映射errors数组中的字符串吗?data-tip={`Precisadecorrigirosseguintesproblemasantesdepublicaroanúncio:${errors.map(error=>`${error}`)}`} 最佳答案 数组对象的.toString()使用Array.pr

javascript - 按频率对 Javascript 数组进行排序,然后过滤重复

采用javascript数组,按值的频率排序,然后过滤唯一值的优雅方法是什么?所以,["apples","oranges","oranges","oranges","bananas","bananas","oranges"]成为["橘子,"香蕉","苹果"] 最佳答案 首先计算每个项目的频率。{apples:1,oranges:4,bananas:2}然后从该频率对象创建一个数组,该数组也将删除重复项。["apples","oranges","bananas"]现在使用我们之前创建的频率图按降序对该数组进行排序。functionco

javascript - GraphQL:不可为空的数组/列表

我现在正在学习GraphQL,在浏览教程时遇到了我无法理解的行为。假设我们在模式中定义了类型:typeLink{id:ID!url:String!description:String!postedBy:Uservotes:[Vote!]!}由于文档votes:[Vote!]!意味着该字段应该是不可空的,数组本身也应该是不可空的。但就在该教程的作者展示了查询示例之后,对于某些链接,它为votes字段返回空数组。像这样:{"url":"youtube.com","votes":[]},{"url":"agar.io","votes":[]}所以我的问题是:“不可为空”在graphQL模式中