草庐IT

javascript - 即时创建 json 键

我想创建一个json对象作为post数组发送,但我需要即时创建keyvarid=$('#myInput').val();varpost={'product[123]':'myValue',//thisworksfine-butisn'tdynamic'product['+id+']':'myValue'//thisdoesnotwork}将它作为字符串发送时效果很好,但当我想让它更动态时,我遇到了问题。我是不是漏掉了一些非常简单的东西,还是我在尝试做一些Javascript不应该做的事情? 最佳答案 (请注意,这与JSON无关。您没

JavaScript 将带有数字字符串的键转换为数字......但 Object.keys() 不会

外部API返回以下形式的JSON结果:{"data":{"1.0":'foo',"2.3":'bar',"3.6":'baz'}}在这里,键"1.0"、"2.3"、"3.6"应该真正被视为表示离散分类的字符串,而不是沿连续轴的值.因此,此API将这些键作为字符串返回是完全有效的。但是......(你能感觉到它来了,不是吗?)在JS客户端中,我需要遍历这些键,问题来了:浏览器的JS引擎自动将所有这些键转换为Number使用Object.keys(myObject.data)返回……字符串!因此,如您所见,以下根本不起作用:letmyObject={"data":{"1.0":'foo',

javascript - 了解 Javascript 对象初始化键

以下有区别吗?:varobject1={a:0,b:1,c:2};对比varobject2={'a':0,'b':1,'c':2}; 最佳答案 您的示例没有区别。如果您希望您的属性名称是数字或包含空格(两者都有效,但很奇怪),则会有所不同。varobject3={'123':0,'helloworld':1}//Thisisvalidalert(object3['123']);//->0alert(object3['helloworld']);//->1//Thisisnotalert(object3.123);//->Syntax

javascript - 从关联数组中删除一个键

考虑varperson=JSON.parse('{"name":"Alice","id",1234}')。如何从变量person中删除一个键?例如,如何完全删除“name”,使person变成{"id":1234}? 最佳答案 尝试deleteperson["name"]。请注意,delete只会将其设置为未定义,这将不会正确反射(reflect)在数组的长度中。如果你知道你应该使用splice的key,即myArray.splice(key,1); 关于javascript-从关联数组

javascript - 以编程方式在文本输入中按下 "Left"键

我正在尝试以编程方式触发一个关键事件以在文本框中向左移动,但没有任何运气。输入元素有焦点,光标在末尾。我试图让光标向左移动一步-在字母“F”之前*通过触发键盘事件(keydown/keyup/keypress)以相应的击键←或→以输入框为目标。ABCDEF|这是目前的代码:HTMLJavascriptvarkeyEvent=document.createEvent("KeyboardEvent");varkeyLocation='0x00';varkeyIdentifier="Left";keyEvent.initKeyboardEvent("keypress",true,true,w

javascript - 在检查每个键、值对 Javascript 的同时遍历 Hashtable

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:HowdoIenumeratethepropertiesofajavascriptobject?我正在尝试遍历哈希表。但每次运行时我都需要检查值。我将如何使用foreach表来执行此操作?在sudo代码中我想这样做:vartHash={name:n,date:d,labels:l,}foreach(valueintHash){if(tHash.name==somevalue){dosomething};if(tHash.label==somevalue){dosomething};这基本上是我想做的,但不确定

Javascript:使用非连续键迭代数组

我需要遍历一个键不连续的数组:varmessages=newArray();messages[0]="Thisisthefirstmessage";messages[3]="Thisisanothermessage";显然,使用for循环的索引是行不通的,因为它取决于键的顺序:for(vari=0;i处理这个问题的规范方法是什么,见thefor-eachsyntaxisnotintendedforiteratingovervaluesinanarrayinjavascript?谢谢。 最佳答案 惯用的方法是使用对象,而不是数组。请务

javascript - 如何向javascript对象中的一个键添加多个值

我有一个对象varobj={key1:"value1",key2:"value2"};我想向key1或key2添加多个值或值数组,例如varobj={key1:"arrayOfValues",key2:"value2"};这可能吗?基本上我想将它发送到php进行处理。 最佳答案 您可以只为属性定义一个数组:varobj={key1:["val1","val2","val3"],key2:"value2"};或者,在事后分配它:varobj={key2:"value2"};obj.key1=["val1","val2","val3"]

javascript - 如果键与 underscore.js 匹配,则比较两个数组

我有一个数组,其中包含来自Facebook的权限以及用户应该授予的权限数组:window.FB.api('/me/permissions',function(perm){if(perm){vargiven_permissions=_.keys(perm['data'][0];varneeded_permissions=["publish_stream","email"];//nowcheckifgivenpermissionscontainsneededpermissions}}现在我想比较是否所有needed_permissions都在given_permissions中,以一种精明

javascript - 如何通过JavaScript使用F11键事件使浏览器全屏

这个问题在这里已经有了答案:Setwindowtofullscreen(REALfullscreen;F11functionality)byjavascript(6个答案)关闭7年前。我想让我的浏览器全屏显示。与我们执行F11键事件时相同。我找到了一些例子,例如functionmaxwin(){varwscript=newActiveXObject("WScript.Shell");if(wscript!=null){wscript.SendKeys("{F11}");}}这不适用于mozilla或任何其他最新的浏览器。如果有任何方法可以解决此问题,请告诉我。谢谢。(提前。)