草庐IT

php数组递归

全部标签

javascript - 如何通过多个属性对 javascript 对象数组进行分组?

我想将showtimesData转换为showtimesByLocationByDate知道如何在不使用任何第三方库而只使用纯javascript的情况下做到这一点吗?否则,我可以为此使用什么第三方库?varshowtimesData=[{"location":"location1","date":"31-12-2016","time":"1:00"},{"location":"location1","date":"31-12-2016","time":"2:00"},{"location":"location1","date":"01-01-2017","time":"3:00"},

javascript - 在javascript中递归压缩数组对象

我有一个对象数组,格式如下:{"country":"India","children":[{"name":"Karnataka","type":"State","children":[{"name":"","type":"city"},{"name":"Bangalore","type":"city"},{"name":"Mangalore","type":"city"}]},{"name":"Kerala","type":"State","children":[{"name":"","type":"city"}]},{"name":"Maharashtra","type":"Stat

Javascript 数组 filter() 与 bind()

我正在使用filter()数组助手来遍历数组中的一些对象。我的想法是创建一个动态过滤函数以使用bind()遍历数组中的对象,但bind中的参数的使用方式与我预期的不同。这是代码:varproducts=[{name:"lettuce",type:"vegetable"},{name:"apple",type:"fruit"},{name:"carrot",type:"vegetable"},{name:"orange",type:"fruit"}];//thisisthefunctionusedinfilter()functionfilterProducts(cat,product){

javascript - 数组未传递给 knex 中的查询

我正在将id数组从get查询传递到knexwhereIn函数,但它们将丢失。if(query.cols){varcols=query.cols.map(Number);console.log(cols)search.whereIn('collection_id',cols)}我正在将它们映射到查询的整数。控制台日志是...[77,66]但调试显示查询为......and"collection_id"in(?,?)我错过了什么? 最佳答案 值显示为字符串,因为knex要求将数组作为包含数组中的参数传递。来自rawbindings的文档

javascript - 为传递给函数的数组赋值

vararrN=[1,2,3];functioninit(arr){arr=[];console.log(arrN)//output[1,2,3],expect[]}init(arrN);当使用splice或push方法时,传递给函数的数组正在被修改。所以我试图了解使用赋值运算符时发生了什么,为什么它不更改数组?它是在创建传递数组的本地var吗?任何帮助将不胜感激! 最佳答案 您需要区分变量和实际对象(数组)。splice和push是改变对象。arr=[]只是改变变量,旧对象保持原样。

Javascript:尝试访问 JSON 数组的元素会给我单独的字符

$.ajax({url:"get_cards.php",type:"GET",data:{selection:JSON.stringify(selection)},success:function(data){varjson=JSON.parse(data);sessionStorage.setItem("json",JSON.stringify(json));}});然后,在另一个文件中,我从sessionStorage中检索JSON:varjson=JSON.parse(JSON.stringify(sessionStorage.getItem("json")));if(json)

javascript - 递归调用异步 API 调用

我正在尝试从每次调用仅返回1000项的API中获取数据,并且我想递归执行此操作,直到获得所有数据。我事先不知道总共有多少元素,所以每次打电话后我都要检查如果调用是同步的,我会使用这样的东西:functionfetch(all,start){constnewData=getData(start,1000);all=all.concat(newData);return(newData.length===1000)?fetch(all,all.length):all;}但是,此处的getData()调用是异步的。使用Promise.all()不起作用,因为我事先不知道我需要多少调用,所以我无

javascript - 每次调用函数时不要执行存储在数组中的 jQuery

我目前将几个jQuery片段存储在一个数组中,该数组存储在一个函数中。一旦我从我的代码库中调用该函数,每个jQuery片段都会被执行。因此,阻止我处理数组。下面的代码是一个例子:varremove=[jQuery("#meshoption:selected").removeAttr("selected"),jQuery("#pipetypeoption:selected").removeAttr("selected"),jQuery("#caboptionoption:selected").removeAttr("selected"),jQuery("#bedsizeoption:se

javascript按字符串属性对对象数组进行排序

这个问题在这里已经有了答案:Sortarrayofobjectsbystringpropertyvalue(57个答案)关闭5年前。我正在尝试通过属性title对对象数组进行排序。这是我正在运行的代码片段,但它没有对任何内容进行排序。数组按原样显示。P.S我看了以前的类似问题。例如这个here建议并使用我正在使用的相同方法。JavaScript:functionsortLibrary(){//varlibraryisdefined,useitinyourcode//useconsole.log(library)tooutputthesortedlibrarydataconsole.lo

javascript - 如何将带有数组的字符串转换为数组

这个问题在这里已经有了答案:SafelyturningaJSONstringintoanobject(28个答案)关闭4年前。如何将这段响应转换为有效数组?我想对数据执行Object.map:varuser_roles="['store_owner','super_admin']";这不是有效的JSON,所以我不能使用JSON.parse