在js中调用java 函数返回类型为arraylist ,在js中怎样转换为array数组类型呢

供稿:hz-xin.com     日期:2025-05-22
如何将JS的对象类型转换成数组类型

只需要一句,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=0;i<s.length;i++){
array[i]=Integer.parseInt(s[i]);
System.out.println(array[i]);
}
}

1、object无法直接转换为array,两个是不同的类型和数据结构。
2、object中的结构是一个属性=值的结构模式,而array是数字索引=值的结构模式
3、如果确实根据一定的业务逻辑能转换,则需要循环

扩展资料:
JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。
日常用途
嵌入动态文本于HTML页面。
对浏览器事件做出响应。
读写HTML元素。
在数据被提交到服务器之前验证数据。
检测访客的浏览器信息。
控制cookies,包括创建和修改等。
基于Node.js技术进行服务器端编程。
参考资料:百度百科:JavaScript

js中只有var类型,不分到低时数组还是其他的类似java中的String,int等类型,如果js要获取ava中的数组就是用json吧.
java代码中把集合转成json:
@RequestMapping(value = "/slick/home")
public void homePage(HttpServletResponse response) throws IOException {
String json = null;
response.setContentType("application/json");
PrintWriter out = response.getWriter();
Gson gson = new GsonBuilder().serializeNulls().setDateFormat(DateFormat.LONG)
.setPrettyPrinting().setVersion(1.0).create();
List<Integer> list = new ArrayList<Integer>();
for (int i = 0; i < 10; i++) {
list.add(i);
}
JSONArray ja = JSONArray.fromObject(mes);
json = gson.toJson(ja.toString());

out.print(json);
}

js中解析的代码:
function tested(){
jQuery.getJSON("${path}/slick/home?time="+new Date().getTime(),
function(items){
var output = [];
output.push('<option value="">-请选择-</option>');
jQuery.each(items, function(i,item){
output.push('<option value="'+ item +'">'+ item +'</option>');
});
$('#'+nextUnit).html(output.join(''));
$('#'+nextUnit).css('display','');
});
}

你所谓的调用java是ajax请求么?如果是的话返回类型用字符串,或json(也是字符串),arraylist传不了。
你可以在jsp页用标签解析了。js本身跟java是两数据类型

js中只有var类型,不分到低时数组还是其他的类似java中的String,int等类型,如果js要获取ava中的数组就是用json吧.
java代码中把集合转成json:
@RequestMapping(value = "/slick/home")
public void homePage(HttpServletResponse response) throws IOException {
String json = null;
response.setContentType("application/json");
PrintWriter out = response.getWriter();
Gson gson = new GsonBuilder().serializeNulls().setDateFormat(DateFormat.LONG)
.setPrettyPrinting().setVersion(1.0).create();
List<Integer> list = new ArrayList<Integer>();
for (int i = 0; i < 10; i++) {
list.add(i);
}
JSONArray ja = JSONArray.fromObject(mes);
json = gson.toJson(ja.toString());

out.print(json);
}

js中解析的代码:
function tested(){
jQuery.getJSON("${path}/slick/home?time="+new Date().getTime(),
function(items){
var output = [];
output.push('<option value="">-请选择-</option>');
jQuery.each(items, function(i,item){
output.push('<option value="'+ item +'">'+ item +'</option>');
});
$('#'+nextUnit).html(output.join(''));
$('#'+nextUnit).css('display','');
});
}

希望可以帮到你.

楼上说的对,js中没有数据类型的,都是var定义的,如果java中返回的是list
则js中可以定义var arr = new Array();
arr = list;//此处看你返回的格式

java中ArrayList有一个方法是toArray,返回array数组类型