如果我创建这样的对象:
var obj = {};
obj.prop1 = "Foo";
obj.prop2 = "Bar";
Run Code Online (Sandbox Code Playgroud)
生成的对象总是这样吗?
{ prop1 : "Foo", prop2 : "Bar" }
Run Code Online (Sandbox Code Playgroud)
也就是说,属性是否与我添加它们的顺序相同?
有没有办法获取JSON对象的第一个属性的名称?
我想做这样的事情:
var firstProp = jsonObj[0];
Run Code Online (Sandbox Code Playgroud)
编辑:我得到一个JSON对象,其中包含带有图像网址的数组类别.
像这样:
{
"category1":["image/url/1.jpg","image/url/2.jpg"],
"category2":["image/url/3.jpg","image/url/4.jpg"]
}
Run Code Online (Sandbox Code Playgroud)
然后我遍历对象来插入图像,我真正想要的只是一种优雅的方式来查看首先插入的类别.起初我就是这么做的
for (var cat in images) {
if (i==0) firstCat = cat;
...
}
Run Code Online (Sandbox Code Playgroud)
但有些人觉得"觉得"难看......所以这基本上只是一个优雅的问题:p
我有一个js'allociative'数组,有
array['serial_number'] = 'value'
Run Code Online (Sandbox Code Playgroud)
serial_number和value是字符串.例如array['20910930923'] = '20101102'
我按价值排序,工作正常.假设我收回了"已排序"的对象;
现在我想访问'sorted'数组的第一个KEY.我该怎么做?我想不出我需要迭代了
for (var i in sorted)
Run Code Online (Sandbox Code Playgroud)
并在第一个之后停止......
谢谢
编辑:只是为了澄清,我知道js不支持关联数组(这就是为什么我把它放在标题中的高逗号中).
我正在为我的应用程序创建一个javascript api,我想在我的javascript代码中使用命名空间.但是,我无法让它工作,也无法找到有关该问题的任何信息.
期望的功能:
HTML:
<script>
Android.typeOne.methodName();
Android.typeTwo.methodName();
</script>
Run Code Online (Sandbox Code Playgroud)
Java代码:
webView.addJavascriptInterface(new TypeOneInterface(context), "Android.typeOne");
webView.addJavascriptInterface(new TypeTwoInterface(context), "Android.typeTwo");
Run Code Online (Sandbox Code Playgroud)
但是这永远不会有效,如果我删除.typeOne并且:Android.methodName然后工作正常.