❶ 问一个简单问题.js数组中的字符串怎么转为数值
小数的话用parseFloat,整数用parseInt。
举个例子:
varmyArr=newArray();
myArr[0]="1";
myArr[1]="2.1";
varma0=parseInt(myArr[0]);//myArr[0]中字符串是整数,用parseInt。
varma1=parseFloat(myArr[1]);//myArr[1]中字符串是小数,用parseFloat。
返回结果:ma0=1,ma1=2.1。
当然,也可以对调过来:
varmyArr=newArray();
myArr[0]="1";
myArr[1]="2.1";
varma0=parseFloat(myArr[0]);
varma1=parseInt(myArr[1]);
返回结果:ma0=1.0,ma1=2。
复杂一点的:
varmyArr=newArray();
myArr[0]="1ABC";
myArr[1]="2.1DEF";
varma0=parseFloat(myArr[0]);
varma1=parseInt(myArr[1]);
返回结果:ma0=1,ma1=2.1。
但如果是:
varmyArr=newArray();
myArr[0]="ABC1";
myArr[1]="DEF2.1";
varma0=parseFloat(myArr[0]);
varma1=parseInt(myArr[1]);
返回结果:ma0=null,ma1=null。因为parseInt和parseFloat只能读取字符串前面的数字。
❷ js怎样将获取json转换为树形结构
比如这样一段json
{
"name":"1级菜单内1",
"link":"###",
"isleaf": false,
"level": 0,
"children": [
{
"name":"2级菜单1",
"link":"###",
"isleaf": false,
"level": 1,
"children": [
{
"name":"3级菜单1",
"link":"###",
"isleaf": true,
"level": 2,
"children": null
},
{
"name":"3级菜单2",
"link":"###",
"isleaf": true,
"level": 2,
"children": null
}
]
},
{
"name":"2级菜单2",
"link":"###",
"isleaf": false,
"level": 1,
"children": [
{
"name":"3级菜单3",
"link":"###",
"isleaf": true,
"level": 2,
"children": null
}
]
}
]
}
我怎样容把他转换成
<div>
<a href="###">一级菜单</a>
<ul>
<li>
<a>2级菜单1</a>
<ul>
<li><a href="###">3级菜单1</a></li>
<li><a href="###">3级菜单2</a></li>
</ul>
</li>
<li>
<a href="###">2级菜单2</a>
.......
</li>
</ul>
</div>
❸ js将字符串转换成对象和数组
可以这样转换(兼容性较好的做法):
varmsg='{A:[{name:"阿克苏",spell:"akesu"}]}';//字符串类型的JSON数据
varjson=null;
try{
json=(newFunction('return'+msg))();
}catch(e){
//如果JSON数据格式有错误,进行错误处理
console.log('数据错误');
}
---------
利用现代浏览器的特性的另一种做法是:
varmsg='{A:[{name:"阿克苏",spell:"akesu"}]}';//字符串类型的JSON数据
varjson=JSON.parse(msg);//直接利用JSON对象进行解析
缺点就是某些浏览器不一定支持
---------
反过来,如果要将对象转换成字符串,可以这样做,见下面代码(适用于现代浏览器,几十年前的IE6什么的运行不起来):
varjsons={A:[{name:"阿克苏",spell:"akesu"}]};//JS对象
varstr=JSON.stringify(jsons);//转化对象为字符串
console.log(str);//测试-输出字符串
❹ js把字符串转换成数组
亲,用string.split('}')按这个切割一下,然后得到的数组再循环遍历一下每个元素,给第一到倒数第2个每个元素加"},",最后那个元素只加"}"不就可以了
❺ 问一个简单问题.JS数组中的字符串怎么转为数值
这个抄问题要拆开来看
1,字符串怎么袭转为数值
(1)parseInt(x)和parseFloat(x)
(2)Number(x)
(3)各种隐式转换比如+x或者x*1等等
2,怎么把数组中每个元素按照某个规则做转换
(1)for循环每个进行转换
(2)利用数组元素的map方法进行映射
综上
最简短的两种写法如下
["1","2","3","4","5"].map(e=>+e)
["1","2","3","4","5"].map(Number)
❻ 如何用JS实现下拉框中的值树形展示
1、手动的改成树形结构,在二级opint标签的内容前面加入空格,形成树形的样子。
2、用div等标签做成模拟的select下拉框。
目前除此之外应该没有其它的办法能做到。
❼ js 将字符串转化为数组循环将某些值重新赋值在放回原来字符串中的位置
1、下面输出结果是"jim",而不是"tom",
是因为数组中保存的都是指向内json对象a的地址,
dd[0],dd[1],dd[2],dd[3]对象指向的内存地址相同容,
当修改其中一个dd[0]的属性值的时候,数组所有元素指向的对象属性值都改变了。
var dd = [];
var a = { "cname": "tom" };
for (var i = 0; i <4; i++) {
dd[i] =a;
}
dd[0].cname = "jim";
alert(dd[2].cname);
❽ JS中如何把JSON格式的字符串转化为一个对象或数组呢
JSON.parse ('{a:123}');
趁机让你的用户别用IE吧。
虽然eval也能用但是不安全。