草庐IT

可变数组

全部标签

javascript - 如何在 Javascript 中使用数组作为键?

我有一个关于python的简单示例:programs={}ifnotprograms.has_key((program,time)):programs[(program,time)]=0programs[(program,time)]=programs[(program,time)]+1如何在Javascript中使用数组作为键? 最佳答案 这将“起作用”。(但我不推荐)vara={};varb=[1,2,3];a[b]='hello';//a[b]evaluatesto'hello'//a[[1,2,3]]evaluatesto'

javascript - 从数组中删除空字符串或空白字符串 - Javascript

我发现了ojit_一种用于删除空字符串的漂亮方法-arr=arr.filter(Boolean)。但它似乎不适用于空白字符串。vararr=['Apple','','Mango','','Banana','','Strawberry'];arr=arr.filter(Boolean);//["Apple","","Mango","Banana","","Strawberry"]//shouldbe["Apple","Mango","Banana","Strawberry"]有没有一种很好的方法可以将此方法扩展为也删除空格,或者我应该先通过迭代数组来trim空格?

javascript - 如何有效地随机选择数组项而不重复?

我知道这个问题有很多种形式,但我无法找到与我的具体效率问题相关的答案。我有下面的代码,效果很好。我有一个10项数组,我从中随机选择一个项(按回车键)。该代码保留了5个不能随机选择的最近选择的数组(以避免随时间重复太多)。如果chooseName()函数最初选择了一个在最近5次中使用过的名称,它会简单地中断并再次调用自身,重复直到找到一个“唯一”的名称。我有两个问题:说这是一个“递归函数”对吗?我担心从理论上讲,这可能会在找到唯一名称之前循环很长时间-是否有更有效的方法来做到这一点?感谢您的帮助。vara=["Roger","Russell","Clyde","Egbert","Clar

javascript - 在对象数组中查找最后一个匹配的对象

我有一个对象数组。我需要获取最后一个对象的对象类型(本例中为“shape”),将其删除,然后在数组中找到具有相同类型的前一个对象的索引,例如“形状”。varfruits=[{shape:round,name:orange},{shape:round,name:apple},{shape:oblong,name:zucchini},{shape:oblong,name:banana},{shape:round,name:grapefruit}]//What'stheshapeofthelastfruitvarcurrentShape=fruits[fruits.length-1].sha

javascript - 按 ISO 8601 日期排序数组

如何按日期(ISO8601)对该数组进行排序?varmyArray=newArray();myArray[0]={name:'oldest',date:'2007-01-17T08:00:00Z'}myArray[1]={name:'newest',date:'2011-01-28T08:00:00Z'}myArray[2]={name:'old',date:'2009-11-25T08:00:00Z'}Playground:https://jsfiddle.net/4tUZt/ 最佳答案 按字典顺序排序:正如@kdbanman指出

javascript - 如何使用可变参数过滤javascript对象数组

我想根据对象的属性来选择对象,但并不总是相同的属性。换句话说:arr=[{name:"joe",age21:1},{name:"nick",age21:0},{name:"blast",age21:1}];arr.filter(function(item){return(item.name==="nick"&&item.age21===1);});但有时我只想过滤名称,例如:arr.filter(function(item){return(item.name==="nick");});我想做的是对此进行概括,以便可以将参数列表传递给函数。我想出了以下方法,但速度很慢,我想知道是否有更好

javascript - 如何将 JSX 元素连接成一个数组?

React世界中令人沮丧的时刻……我需要能够根据某些标准创建标记。例如,我收到一系列项目。我需要检查这些项目,并根据标准生成不同的标记。因此,例如,我有一个接收项目数组的函数:processItems(itemArray){//CreateanemptyarraythatwillholdthefinalJSXoutput.letbuffer=[]//Somehowpushthefirstrequiredmarkupintothebuffer.buffer.push();//...herewedoaswitchstatementthatevaluateseachiteminthe'ite

javascript - 找出数组元素出现了多少次

我是JavaScript的新手,我已经学习和实践了大约3个月,希望我能在这个主题上得到一些帮助。我正在制作一个扑克游戏,我想做的是确定我是否有一对、两对、三对、四对或葫芦。例如,在[1,2,3,4,4,4,3]中,1出现1次,4出现3次,以此类推。我怎么可能让我的计算机告诉我一个数组元素出现了多少次?解决了,这是最终产品。vardeck=[];varcards=[];varconvertedcards=[];varkinds=[];varphase=1;vardisplaycard=[];varoptions=0;varendgame=false;//FillDeck//for(i=0

javascript - 使用 moment js 创建一个包含星期几和一天中几小时的数组?

想知道是否有办法获取momentjs或仅使用纯javascript创建一周中的每一天以及一天中的每个小时的数组,这样我就不必对其进行硬编码。所以不用手动做weekArray=["Monday","Tuesday","Wednesday"....]我正在寻找一种方法来做类似的事情weekArray=moment.js(week)特别是在一天中的不同时间,我可能会使用不同的格式。 最佳答案 对于工作日,您可以使用moment'sweekdaysmethodweekArray=moment.weekdays()

javascript - 更新项目数组中的单个值 | react 减少

我有一个待办事项列表,如果用户点击“完成”,我想将数组中该项目的状态设置为“完成”。这是我的操作:exportfunctioncompleteTodo(id){return{type:"COMPLETE_TASK",completed:true,id}}这是我的reducer:case"COMPLETE_TASK":{return{...state,todos:[{completed:action.completed}]}}我遇到的问题是新状态不再有与所选项目上的待办事项关联的文本,并且ID也不再存在。这是因为我正在覆盖状态并忽略以前的属性吗?我的对象项目加载看起来像这样:Object