❶ 問一個簡單問題.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也能用但是不安全。