Tag: 数组

挑选一个随机的json对象

我有json数据。 [ [“Mango”,”M”], [“Lychee”,”L”], [“Pineapple”,”P”], [“Banana”,”B”] ] 我需要能够随机选择一个数组项(例如[“Pineapple”,”P”] )。 我该怎么做随机选择? var alphabetNum = “”; $.ajax ( { url:”getalphabet.json” }).done(function(data) { alphabetNum = data; });

基于子值合并数组中的对象

我有一个填充了对象的数组。 当具有匹配的特定子值时,如何合并此数组中的对象? 我的数组看起来像这样: var data = [ { prod_name:”test1″, type:”1″, color:”white”, product_id:”5″ }, { prod_name:”test2″, type:”1″, color:”green”, product_id:”7″ }, { prod_name:”test2″, type:”2″, color:”green”, product_id:”7″ }, { prod_name:”test3″, type:”4″, color:”red”, product_id:”8″ }, { prod_name:”test4″, type:”2″, color:”white”, product_id:”21″ } ]; 我想基于匹配的product_id合并对象。 如果值不相同,我想保留BOTH值,用逗号分隔。 所以前一个数组的结果将成为: [ { prod_name:”test1″, type:”1″, color:”white”, product_id:”5″ }, { prod_name:”test2″, type:”1,2″, color:”green”, product_id:”7″ }, { […]

使用jquery ajax进行Google Visualization Gauge动态更新 – 来自json feed

我有一个来自客户端的REQ,希望在LAMP服务器上看到sysInfo数据的图形表示。 对于我们这些喜欢视觉效果的人来说, 这里有现场演示 。 我在谷歌图表上找到了仪表,在他们的演示中,图表正在移动。 这就是我向客户展示的内容,这就是他们想要的。 只是在经过深思熟虑之后,我很快就意识到他们只是用随机数更新它。 所以我试图自己做。 我搜索了互联网,我甚至在这里发布了我的问题,但没有人回复。 所以,这就是我做的…… 最初,我试图让我的谷歌可视化仪表图表通过ajax更新。 我的json feed返回了: [ {“key”:”label1″,”value”:”50.25″}, {“key”:”label2″,”value”:”99.43″}, {“key”:”label3″,”value”:”4.47″}, {“key”:”label4″,”value”:”7.06″} ] 我得到它最初渲染静态图像,但它似乎永远不会更新。 我花了一段时间,然后我发现我的价值观引用了他们。 问题是#1:API正在寻找数字数据。这是我第一次使用json服务。 我不确定我是否需要以某种方式添加状态:“ok”或者如果我需要做一个eval(),就像许多其他post告诉我的那样。 好吧,我也不需要…… 我的脚本如下: // load the visualization api & skin google.load(‘visualization’, ‘1’, {packages:[‘gauge’]}); // draw the initial chart from snapshot data for quick rendering google.setOnLoadCallback(drawChart); // set global vars once DOM finishes $(document).ready(function() […]

如何删除存储在本地存储中的数据?

如果我是console.log(localStorage.getItem(“cartCache”)),结果如下: {“dataCache”:[{“id”:20,”quantity”:1,”total”:100000,”request_date”:”27-08-2017 20:31:00″},{“id”:53,”quantity”:1,”total”:200000,”request_date”:”27-08-2017 20:38:00″}]} 我想通过id删除缓存中的数据 例如,我删除id = 20,它将删除缓存中的id = 20 所以结果是这样的: {“dataCache”:[{“id”:53,”quantity”:1,”total”:200000,”request_date”:”27-08-2017 20:38:00″}]} 我该怎么做?

在Javascript中循环遍历数组的元素

我在Javascript中有一个数组: var array = new array(); array[0] = “apples”; array[1] = “oranges”; array[2] = “pears”; 在PHP中,使用给定的数组,我可以使用以下内容遍历数组,并分解键和值: foreach ($array as $key => $value) { echo(“Key is $key and Value is $value”); } 我怎么能用Javascript做到这一点? 我知道: for (x in array){ // Do something with x. } 但我发现没有什么可以复制php风格的foreach。 是否有可能简洁地在Javascript中实现类似的东西? (我也使用jQuery,如果可以在jQuery中完成某些事情)。

jquery获取数组的选择选项

我有点坚持一个 – 大概很难解决问题。 我想创建将用于网站上所有选定元素的代码。 根据分配给“选项”的“标签”属性,我想隐藏所有其他“div”元素,这些元素的类与此特定“选择”菜单中“选项”的其他“标签”值相同。 让我来certificate一下: Select one… Google Yahoo Magazine Other 现在 – 菜单下div中的“dn”类只分配了“display:none”。 根据所选的选项 – 如果它的值为3 – 我希望div与类显示相同的类 – 然后如果我选择值为4的选项 – 所有其他div(其中类名将从所有选项中填充)这个select元素)应该hide()并且只选择show()。 我不太确定如何将特定“select”元素的所有“选项”元素放到数组中。 然后大概我可以使用each()语句遍历它并找出它们是否具有“label”,如果是这样的话 – 用与其值匹配的类隐藏元素。 然后在循环之后,我可以显示具有与所选“选项”的“label”参数的值匹配的类的元素。 我希望这是有道理的。 知道怎么做到这一点? 非常感谢。

动态jQuery变量名称

我想获取li ID属性的值(它将是一个userID),并将其用作字符串的一部分,我最终将其用作变量名称的一部分。 我将使用此变量名来创建一个数组。 我理解基础知识,但似乎无法找到jQuery / javascript的正确组合来实现这种魔力。 jQuery(‘#user-list li’).click(function() { var userID = jQuery(this).attr(“id”); // i want to add the word array to the end of userID var theVariableName = userID + “Array”; // I want to use this variable to create an array var theVariableName = new Array(); // I want to continue to use […]

将int数组传递给MVC Controller

我正在尝试将一个int数组从JavaScript传递给一个接受2个参数的MVC控制器 – 一个int数组和一个int。 这是执行页面重定向到Controller Action返回的视图。 var dataArray = getAllIds(); //passes back a JavaScript array window.location.replace(“/” + controllerName + “/EditAll?ids=” + dataArray + “&currentID=” + dataArray[0]) dataArray包含1,7个我的样本用法。 控制器代码 public virtual ActionResult EditAll(int[] ids, int currentID) { currentModel = GetID(currentID); currentVM = Activator.CreateInstance(); currentVM.DB = DB; currentVM.Model = currentModel; currentVM.ViewMode = ViewMode.EditAll; currentVM.ModelIDs = ids; if (currentModel […]

使用“in”关键字迭代Javascript数组

似乎我不理解JavaScript中in关键字的含义。 看看这段代码片段( http://jsfiddle.net/3LPZq/ ): var x = [1,2] for(i in x){ document.write(x[i]); } 在jsfiddle中运行时,它不仅会打印数组中包含的值,还会打印所有数组对象的属性和方法。 当我这样改变时( http://jsfiddle.net/4abmt/ ): $(document).ready(function(){ var x = [1,2] for(i in x){ document.write(x[i]); }}); 它只打印值1和2。 为什么会这样? 这是由jQuery引起的还是in关键字的行为取决于文档是否完全加载?

用jQuery实现Javascript高效的搜索数组

我的JavaScript知识存在差距。 我想搜索特定值的对象值数组并返回它。 对于我一直在编写JavaScript的那一年,我一直在实现它: var itemClicked = (function(){ var retval; //Note self.inventory.itemsArray is an array of JS objects $(self.inventory.itemsArray).each(function(i){ if(parseInt(this.id) === parseInt(idOfItem)){ retval = this; return false; } }); return retval; })(); 它有效,但我确信任何事情都有更优雅的方式。 请告诉我! 编辑 – 解决方案 感谢@gdoron,他的回答如下。 var myVar = $(self.owner.itemsArray).filter(function(){ return parseInt(this.id) == parseInt(recItemID); }).get(0); 注意:最后添加了.get(0) ,因为myVar被包装为jQuery对象。