1. 前言
首先,当JS对象是键值对的情况时(Json对象),因为数组时以数字为索引的,所以只能把JS对象中的Key或者Value组成数组使用。
2. 样例如下:
var obj={"one":"I am 1","two":"I am 2"}
var arr = Object.getOwnPropertyNames(obj) //arr=["one", "two"]
var arr2 = Object.keys(obj)//arr=["one", "two"]
var valArr = arr.map(function(i){return obj[i]})//["I am 1", "I am 2"]
var valArr2 = arr2.map(function(i){return obj[i]})//["I am 1", "I am 2"]
//或者2,4和3,5各自合并成一条语句
var valArr22 = Object.keys(obj).map(function(i){return obj[i]})//["I am 1", "I am 2"]
只需要一句,arr.__proto__=[]但是要注意浏览器支持__proto__才行,最新的浏览器应该都支持。
以下两种都可以解决此问题:
function transform(obj){
var arr = []
for(var item in obj){
arr.push(obj[item])
}
return arr
}
或者
public static void main(String[] args) {
String [] s={"2","3","4"}
int [] array=new int[3]
for(int i=0i<s.lengthi++){
array[i]=Integer.parseInt(s[i])
System.out.println(array[i])
}
}
var arr = ["中国|广东|深圳","中国|广东|深圳","中国|湖北|黄石","中国|湖北|武汉","中国|广东|广州","中国|广东|广州","中国|湖北|武汉","中国|福建|福州","中国|福建|厦门"]var result={}
var temp={}
for(var i=0i<arr.lengthi++){
var item=arr[i]
var its=item.split('|')//按|拆分
var country=its[0]//国家
var province=its[1]//省
var city=its[2]//城市
if(!result[country]){//国家不在结果对象里
result[country]=[]//添加
}
if(!temp[province]){//临时对象没有省信息
result[country].push(temp[province]={//记入结果数组
province:[province],
city:[],
count:[]
})
}
var info=temp[province]
var found=false
for(var j=info.city.length-1j>=0j--){//在省信息的城市数组里查找是否已经存在
if(info.city[j]==city){
found=true//已经存在
info.count[j]=info.count[j]+1//更新count
}
}
if(!found){//未找到城市
info.city.push(city)//添加
info.count.push(1)//count初始值为1
}
}
console.log(result)