javascript-麻烦大家帮我看看下面的js代码有什么问题?

问题描述

麻烦大家帮我看看下面的js代码有什么问题?

var datas=[];

var datam=[];

for(var i=0;i<dataset.provinces.length;i++)

{

var name= dataset.provinces[i].name;

var value= dataset.provinces[i].value;

datas[name]=value; //例如 datas[北京]=14149

alert(datas.length);
datam.push(value); //datam 数组用于求中间值
}
为什么datas数组的长度为0?赋值不成功,应该如何修改?

解决方案

数组不能直接datas[name]这种方式,只有对象才行

 var datas=[];改成var datas={};//这么修改后不能datas.length的方式获取值
 需要
 for(var d in datas){
  alert(d+","+datas[d]);
}

解决方案二:

 <!DOCTYPE html>
    <head>
        <title>
        </title>
    </head>
    <body>
        <script type="text/javascript">
            var datas=new Object();
            var datam=[];
            var dataset = new Object();
            var i=0;
            var j=0;
            var name,value,k;

            dataset.provinces = new Array();
            dataset.provinces[0] = {
                "name":"北京",
                "value":"14149"
            };
            dataset.provinces[1] = {
                "name":"上海",
                "value":"14150"
            };
            for(;i<dataset.provinces.length;i++)
            {
                name= dataset.provinces[i].name;
                value= dataset.provinces[i].value;
                datas[name] = value; //例如 datas[北京]=14149
                datam.push(value); //datam 数组用于求中间值
            }

            for(k in datas){
                j++;
                alert(j);
                alert(k);
                alert(datas[k]);
            }
        </script>
    </body>
</html>

解决方案三:

var datas={};

解决方案四:

datas是数组类型吧,不能这么用

时间: 2024-11-01 21:25:05

javascript-麻烦大家帮我看看下面的js代码有什么问题?的相关文章

javascript-麻烦大家帮我看看下面的js函数有什么问题?

问题描述 麻烦大家帮我看看下面的js函数有什么问题? function getDateBy8Week(theDate){ var dateSet = []; theDate = new Date(theDate); for(var i=0;i<8;i++){ alert(theDate); dateSet.push(theDate); theDate = new Date(theDate.setDate(theDate.getDate()-7));}alert(""haha&qu

麻烦大家帮我看看下面的sql问题?

问题描述 麻烦大家帮我看看下面的sql问题? select distinct a.* from a,b where to_char(a.reg_date,'yyyy-mm-dd') >= '2015-08-10' and to_char(a.reg_date,'yyyy-mm-dd') < '2015-08-11' and a.card_no = b.card_no and a.dept_name is not null and a.dept_name <> '.' and a.v

烦请大神将下面的js代码改写为php代码(加密用)

问题描述 烦请大神将下面的js代码改写为php代码(加密用) function md5(A) { return hex_md5(A) } function md5js(pass, code, uin) { var I = hexchar2bin(md5(pass)); var H = md5(I + uin); var G = md5(H + code.toUpperCase()); return G } var hexcase = 1; var b64pad = ""; var ch

javascript-帮我看看下面的ajax代码有什么问题?

问题描述 帮我看看下面的ajax代码有什么问题? $(document).ready(function(){ $.ajax({ type:"post", url:"friendAction!searchUI.action", data:"<%=request.getParameter("userId") %>", async:false, success:function(msg){ alert(msg); } }

下面的Pascal代码能帮我翻译为c++吗??

问题描述 下面的Pascal代码能帮我翻译为c++吗?? const wq:array[1..4,1..2] of longint=((-1,0),(0,1),(1,0),(0,-1)); var i,j,ans,tot:longint; map:array[0..10,0..10]of longint; s:array[0..999999]of boolean; procedure prin(x,y,dep:longint); var i,x1,y1:longint; begin if dep

android-谁能帮我看看下面的Android程序错在哪里

问题描述 谁能帮我看看下面的Android程序错在哪里 解决方案 自己仔细调试下,如果提问,请给出代码.错误提示.出现什么问题等才好帮你. 解决方案二: 你根本没放code...... 解决方案三: 把你的代码放出来看看 解决方案四: 神马都没有................ 解决方案五: 好歹把代码贴出来啊....... 解决方案六: 哈哈你根本没放code...... 解决方案七: 看到有这样问问题的也是醉了......

变换-麻烦各位帮我改下程序吧,输入#include &amp;amp;quot;stdafx.h&amp;amp;quot;在VC++上面不能运行呀~~

问题描述 麻烦各位帮我改下程序吧,输入#include "stdafx.h"在VC++上面不能运行呀~~ #include ""stdafx.h""#include #include #include #include #include #define N 1000 /*定义复数类型*/ typedef struct { double real; double img; }complex; void fft(); /*快速傅里叶变换*/ void

html-请问下面的jquery代码为何不起作用

问题描述 请问下面的jquery代码为何不起作用 1 <html xmlns="http://www.w3.org/1999/xhtml"> 2 <head> 3 <script type="text/javascript" src="jquery.js"></script> 4 <script type="text/javascript"> 5 $(document

注册表-VC如何修改浏览器的主页,先帮我看下我的代码哪儿错了

问题描述 VC如何修改浏览器的主页,先帮我看下我的代码哪儿错了 void main() { HKEY hkey1,hkey2; DWORD dwDisposition1,dwDisposition2; RegCreateKeyEx(HKEY_CURRENT_USER,"SoftwareMicrosoftInternet ExplorerMain",0,NULL,0,KEY_ALL_ACCESS,0,&hkey1,&dwDisposition1); RegSetValue