在javascript中有类似java中ArrayList的类型么?可以执行如 add remove 等 *** 作

在javascript中有类似java中ArrayList的类型么?可以执行如 add remove 等 *** 作,第1张

JavaScript 可任意扩展

Object.extend=function(A,$){for(var _ in $)A[_]=$[_]return A}

/** Object */

Object.extend(Object.prototype, {

equals : function(other){ return this==other}

})

/** Array */

Object.extend(Array.prototype, {

__rangeCheck : function(index){

if (index <0 || index >= this.size()) {

alert("Index: " + index + ", Size: " + this.size())

throw new Error("", "Index: " + index + ", Size: " + this.size())

}

},

indexOf : function(o){

for(var i = 0i <this.size()i++){

if(this[i].equals(o)){ return i}

}

return -1

},

contains : function(o){

return this.indexOf(o) >-1

},

size : function(){

return this.length

},

add : function(){

if(arguments == null || arguments.length <1){

throw "arguments is null"

}

for(var i = 0i <arguments.lengthi++) {

this[this.size()] = arguments[i]

}

},

addAll : function(array){

if(!array || array.length <1){ return}

for(var i = 0, len = array.lengthi <leni++){

this.add(array[i])

}

},

removeAt : function (index){

this.__rangeCheck(index)

var oldValue = this[index]

var buf = []

for(var i = 0i <this.size()i++){

if(i!=index){ buf.add(this[i])}

}

this.clear()

this.addAll(buf)

return oldValue

},

remove : function(o){

var index = this.indexOf(o)alert(index)

if(index>-1){ this.removeAt(index)}

},

isEmpty : function(){

return this.size() == 0

},

subArray : function(fromIndex, toIndex){

this.__rangeCheck(fromIndex)

this.__rangeCheck(toIndex)

var result = []

for(var i = fromIndexi <toIndexi++){

result.add(this[i])

}

return result

},

fill : function(value){

for(var i = 0, len = this.size()i <leni++){

this[i] = value

}

return this

},

clear : function(){

this.length = 0

}

})

Array.prototype.toString = function(sep){

sep = sep || ", "

return this.join(sep)

}

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 = 0i <10i++) {

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中是可以的),数组大小是不能改变的,想让随着添加元素的个数的增加而增加数组的大小,可以使用ArrayList类。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11545655.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-16
下一篇2023-05-16

发表评论

登录后才能评论

评论列表(0条)

    保存