構造(A)をコードする配列データを使用して
の配列を使用して
配列のJS
まず、プロパティ
1.lengthセットまたは返す配列要素の数。
2.constructorコンストラクタへの参照を返します
var a=["a","b",1,2];
alert(a.constructor)
//function Array(){
[native code]
}
第二に、配列トラバーサルの定義
新しいアレイを使用して()の配列を定義
//第一种,声明以后再赋值.数组可以存储任何类型的值。
var arr = new Array(); //定义一个数组arr,初始长度为0
arr[0] = 123
arr[1] = "abc";
arr[5] = false;
alert(arr[3]);//undefined,没有初始化
alert(arr);//123,abc,,,,false
alert(arr[10]);//undefined,
//如果指定了长度,但是没有赋值,他的值就会自动赋值为undefined;
//不会出现越界异常相当于定义了一个变量arr[10],没有赋值
//第二种
var arr2 = new Array(2);//规定了数组的长度为2
arr2[0] = "ddd";
arr2[1] = "www";
alert(arr2);//ddd,www
arr2[2] = "fff";//可以再次添加元素,定义的数组大小对此没有影响
alert(arr2);//ddd,www,fff
//第三种,直接赋值,
var arr3 = new Array(true,123,false);
alert(arr3);//true,123,false
でJS {}、[]アレイを定義するオブジェクト
1.中括弧{}、オブジェクトの定義は、ほとんどの場合、属性と値のペア、または機能を有し、表します。
2. []括弧、配列を表し、それはまた、配列オブジェクトとして理解することができます。
{3}、我々は前記のように[]で使用して、オブジェクト{}、[]が配列されている、我々は、オブジェクトの配列を形成することができます
。(ドット)とオブジェクトのプロパティを呼び出すと、アクセスする配列[インデックス]で、重畳されます。
var LangShen = { "Name":"Lansheng",
"MyAge":[ "Age","26" ],
"MyWife":[{"Name":"Lansheng1"},{"Name":"Lansheng2"},{"Name":"Lansheng3"}]
}
ように定義[]アレイを使用
var arr3 = [] ; //定义了一个数组,里面是空的
arr3.push(a);//push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。
arr3.push(b);
arr3.push(c);
arr3.push(d);
arr3.push(e);
arr3.push(h);
var arr4 = [false,"aaa",123]; //定义了一个数组,同时初始化数据
alert(arr4);//false,aaa,123
var idArr = [];
for(i=0,len=codeName.length; i<len; i++){
if(""!=codeName[i]["code"]&&""!=codeName[i]["name"])
{
var obj = {};
obj.code = codeName[i]["code"];
obj.name = codeName[i]["name"];
idArr.push(obj);
}
}
return idArr;
配列の長さを定義します
alert(arr4.length) ;
//arr4.length = 100 ; //将数组的长度变为100
//alert(arr4.length) ;
//arr4[100] = 100 ; //将数组的长度变为101
//alert(arr4.length) ;
arr4.length = 2 ; //将数组的长度变为2,多余的数据将消失了
//alert(arr4[2]) ; //弹不出原来的数据了,弹出来undefined
データは、配列の添字の定義によって定義されます
var result = {};
var url = CONTEXT_PATH + '/cusviews/scada/getScadaAirData';
var retData = $.getData(url,null);
if(1000 != retData.status){
return;
}
var data = retData.data;
if(null == data || undefined == data){
return;
}
function getGasList(tagCode){
if($.isEmptyArray(data[tagCode])){
return;
}
var gasList = new Array();
for(var i=0;i<data[tagCode].length;i++){
var obj = new Object();
obj.name = data[tagCode][i].timestamp;
var arr = new Array();
arr.push(data[tagCode][i].timestamp)
arr.push(data[tagCode][i].tagValue);
obj.value = arr;
gasList.push(obj);
}
return gasList;
}
result["xijiaoList"] = getGasList("FRQA001A.PV");
result["ciquList"] = getGasList("FRQB003A.PV");
クラスArray
クラス定義の配列、オブジェクトの下のフォームは、クラスのオブジェクト配列であるとして、それは、知っている、実質的に同一の機能配列を有していなければなりません
その特徴は何ですか?
- 添字を呼び出すことによって、このような
array[0]
- 長さ属性を持ちます
length
- そして、forループできる
forEach
方法を横断します
var arrayLike = {
0: 'item1',
1: 'item2',
2: 'item3',
length: 3
}
配列クラスはarrayLike
有する添字によって呼び出すことができるlength
プロパティだけでなく、forループによって横断させることができます
ノードは、私たちは、多くの場合、使用中の方法で使用する、クラスの配列のリターンであるDOM道得るarguments
すべてのパラメータを取得するためのキーワードは、クラスの配列であるが
しかし、クラスの配列ではないことができforEach
ようにトラバースするforEach
全ての後、アレイのプロトタイプチェーン上の方法ではなく、配列データの配列は、使用することができません
(function (window, $, undefined) {
// 定义 通用工具方法 扩展对象基元
coreUtil = function () { return Object.apply(this, arguments); },
// 定义 jQuery 扩展对象基元
coreJquery = function () { return $.apply(this, arguments); },
coreUtil.fn = coreUtil.prototype = {};
coreJquery.fn = coreJquery.prototype = {};
coreJquery.util = coreUtil;
// 检测一个对象是否为一个数组对象或者类似于数组对(具有数组的访问方式:具有 length 属性、且具有属性名为数字的索引访问器)
// 注意:此方法传入 字符串 时执行,也会返回 true,因为 字符串 是一个字符数组。
coreUtil.likeArray = function (obj) {
if (obj == null || obj == undefined || coreUtil.isWindow(obj)) {
return false;
}
if (obj.nodeType === 1 && obj.length) {
return true;
}
var type = coreUtil.type(obj);
return type === "array" || type !== "function" && coreUtil.isNumeric(obj.length) && obj.length >= 0;
};
// 检测一个对象是否为一个数组对象或者类似于数组对(具有数组的访问方式:具有 length 属性、且具有属性名为数字的索引访问器)且不是字符串
coreUtil.likeArrayNotString = function (obj) {
return coreUtil.likeArray(obj) && !coreUtil.isString(obj);
};
})(window, jQuery);
反復
ループのための通常の
var sbInfos = [ [ 12, 'A站' ], [ 11, 'B站' ], [ 3, 'C站' ], [ 14, 'D站' ],[ 13, 'E站' ], [ 25, 'F站' ] ];
var points = {};
for (var i = 0; i < sbInfos.length; i++) {
var obj = sbInfos[i];
var Item = '<li class="child"><span><input onchange="show(this);" class="Item" type="checkbox" value="'
+ obj[0] + '" /></span><a>' + obj[1] + '</a></li>';
$("#bd").append(Item);
}
var param = $(Items).val()
var ps = new Array();
ps.push(int);
points[param] = ps;
$(".jy").find("tr").each(function () {
var list = $(this).children('td:eq(1) input');
for(var i = 0;i<list.length;i++){
if(list[i].checked){
var listxz = $(list[i]).val();
if(listxz==null){
alert("有未选项,请确认");
return false;
}
}
}
循環のための最適化されたバージョンは、一時変数の使用は、長さが配列の効果がより明らかであろう大きな最適化である場合には、配列の長さを取得回避の重複に、キャッシュされました。
for(j = 0,len=arr.length; j < len; j++) {
}
中のため
var ren ={};
ren.name="张三";
ren.sex="男";
ren.eat=function () {
alert("吃饭");
}
for (var i in ren) {
alert(ren[i])
}
var item = list.data[0].data;
var names = [ "JQX:抢修", "XL:泄露", "HZ:火灾", "HS:洪水","DZ:地震", "NSL:泥石流" ];
var rlt = {
"keys" : [],
"data" : []
};
for ( var o in item) { //js for
for (var i = 0, len = names.length; i < len; i++) {
var nItem = names[i], noKey = nItem.split(":")[0], nVal = nItem.split(":")[1];
if (o == noKey) {
rlt.keys.push(nVal);
var obj = {};
obj.value = item[o], obj.name = nVal;
rlt.data.push(obj);
}
}
}
foreachメソッドコールバック関数は、3つのパラメータを有する:最初のパラメーターは、配列トラバーサルの含有量は、2番目のパラメータはインデックスに対応する配列であり、3番目のパラメータは配列そのものであります
var arr = [1,2,3,4];
arr.forEach(function(value,index,array){
array[index] == value; //结果为true
sum+=value;
});
console.log(sum); //结果为 10
メソッドは、次と同等です。
$.each([],function(index,value,array){
//code something
})
forEachの同様の意味と使用方法を「マッピング」されている地図は、実際の効率は以下のforeach以上です。すなわち、使用法:
arr.map(function(value,index,array){
//code
})
反復中
var a=0
while (a<arr.length) {
alert(arr[a]);
a++
}
反復処理する$ .Each
各メソッドトラバースプロセスデータ、配列することができ、DOM、JSONなど
$(selector).each(function(index,element))
- 索引 -位置指標セレクタ
- 要素 -現在の要素(も使用することができ、「この」セレクタ)
JSは、Javaトラバース返さパッケージによれば、典型的には、各方法またはフォーマットの選択背景データに使用されるアレイ、典型的にするために使用されるアレイを横切ります
二つのパラメータ、最初のパラメータは、トラバース配列インデックスを表し、インデックスに対応する第2のパラメータ値
var arr1=['aa','bb','cc','dd'];
$.each(arr1,function(i,val){
console.log(i+'```````'+val);
}
$("input:hidden").each(function(i,val){ //第一个参数表示索引下标,第二个参数表示当前索引元素
alert(i);
alert(val.name);
alert(val.value);
});
この選択は、現在の要素を取得します
$('td[aria="View_CHECK_NAME"]').each(function(){
if($(this).html()=="yes"){
$(this).attr("style","color:red; text-align:center;cursor:pointer");
}
})
テキストの各li要素の出力:
$("button").click(function(){
$("li").each(function(){
alert($(this).text())
});
});
インデックスインデックスで要素を取得します
$("#ty").click(function(){
debugger;
var cancelId = "";
var Name=""
$("#RecList").next().find("[type='checkbox']").each(function(index,item){
var cancelTd = $("#RecList").next().find("tr").eq(index).find("td");
cancelId += (cancelTd.eq(1).text()+",");
Name+= (cancelTd.eq(2).text()+",");
});
cancelId = cancelId.substring(1,cancelId.length-1);
cancelId = cancelId.substring(0,cancelId.length-1);
if(cancelId == ""){
layer.msg("");
return false;
}
$.ajax({
type : "post",
url : CONTEXT_PATH + '/update',
data : {"cancelId " : cancelId,"Name":Name},
success : function(data){
if(data > 0){
$("button[name='comQue']").each(function(index,item){
$(this).trigger("click");
})
})
二次元配列トラバーサル
2つのパラメータは、最初のパラメータは、標準的な、一次元アレイの各アレイの第二のパラメータを表します
var arr2=[['aaa','bbb'],['ccc','ddd'],['eee','fff']];
$.each(arr2,function(i,item){
console.log(i+'````'+item);
}
$(function () {
$.each([["a", "b", "c"], ["d", "e", "f"], ["g", "h", "i"]], function (i, el) {
console.log(i+ ":" + el);
//输出0:a,b,c 1:d,e,f 2:g,h,i 这时的i为数组下标,el相当于取这二维数组中的每一个数组
$.each(el, function (index, itemobj) {
console.log(index + ":" + itemobj);
});
});
//输出0.:a,b,c 0:a 1:b 2:c 1:d,e,f 0:d 1:e 2:f 2:g,h,i 0:g 1:h 2:i
});
JSONトラバーサル
var json1={key1:'a',key2:'b',key3:'c'};
$.each(json1,function(key,value){ //遍历键值对
console.log(key+'````'+value);
})
$(function () {
var json = [{ name: "小明", sex: "男" }, { name: "小糖", sex: "女" }, { name: "小孩", sex: "男"}]; //自定义一个json数组
$.each(json, function (index, obj) {
console.log(index + ":" + obj.name+":"+obj.sex);
});
});
出力:0:暁明:男性1:リトルシュガー:2人の女性:子供:男性
JSONオブジェクトの2次元配列があります。
var arr3=[{name:'n1',age:18},{name:'n2',age:20},{name:'n3',age:22}];
$.each(arr3,function(i,val){
console.log(i+'`````'+val);
//输出
/* 0`````[object Object] 1`````[object Object] i2`````[object Object]*/
console.log(val.name); //获取每一个json里面的name值
console.log(val["name"]);
$.each(val,function(key,val2){
console.log(key+'```'+val2);
})
});
二次元アレイの二次元アレイを定義し、トラバース
int arr[][]=new int[][]{{1,2,3},{4,5,6},{7,8,9}};
int [][]arr=new int[3][3];
arr[1][2]=3;
for(int i=0;i<arr.length;i++){
for(int j=0;j<arr[i].length;j++){
System.out.print(arr[i][j]+" ");
}
System.out.println();
}
private String[][] homePageBlock = {
{"top_right","TOPRIGHT","TOPRIGHTNAME"},{"middle_left","MIDDLELEFT","MIDDLELEFTNAME"},
{"middle_center1","MIDDLECENTER1","MIDDLECENTER1NAME"},{"middle_center2","MIDDLECENTER2","MIDDLECENTER2NAME"},
{"middle_center3","MIDDLECENTER3","MIDDLECENTER3NAME"},
{"middle_roll","MIDDLEROLL","MIDDLEROLLNAME"},{"bottom_right","BOTTOMRIGHT","BOTTOMRIGHTNAME"}
};
for (int i = 0; i < homePageBlock.length; i++) {
if("TOPRIGHT".equals(homePageBlock[i][1]))
{
model.addAttribute(homePageBlock[i][1], dataList.size() <= 3 ? dataList : dataList.subList(0, 3));
}
else
{
model.addAttribute(homePageBlock[i][1], dataList.size() <= 7 ? dataList : dataList.subList(0, 7));
}
}
統合利用のjqueryの配列
var _cache = function () {
var cache = {};
this.set = function(dicobj) {
if ($.util.isObject(dicobj)) {
if (dicobj !== undefined && dicobj.data !== undefined)
$.each(dicobj.data,
function(i, n) {
var tempitem = cache[i] = cache[i] || {};
tempitem.originalData = n;
$.each(n,
function(j, k) {
//console.log(k);
//k[k.id] = k.text;
if (k.id !== undefined && k.id !== "" && k.text !== undefined)
tempitem[k.id] = k.text;
if (k.children) {
recursiondic(tempitem, k.children);
}
});
});
} else {
throw "字典初始化仅支持对象信息";
}
};
/**
* 递归子节点
* @param {any} obj
* @param {any} children
*/
function recursiondic(obj, children) {
$.each(children,
function (j, k) {
//console.log(k);
if (k.id !== undefined && k.id !== "" && k.text !== undefined)
obj[k.id] = k.text;
if (k.children) {
recursiondic(obj, k.children);
}
});
}
/**
* 获取字典数据 x.originalData 是原始数据结构
* @param {any} dicCode
*/
this.get = function(dicCode) {
debugger;
return $.extend({}, cache[dicCode]);
};
/**
* @param {string} diccodes
* @param {function} func
*/
this.initDictionary = function (diccodes, func) {
$.get("system/dic/getDicByCodes/" + diccodes,
function (data) {
$Core.DicCache.set(data);
if (func !== undefined)
func(data);
});
};
}
$Core.DicCache = new _cache();
JSアレイ法
配列オブジェクトのメソッド:
1(参加):各データは、デフォルトカンマで区切られた
配列の最後に要素を追加します。2.プッシュ()
)(逆3:逆順
4シフト():削除をそして、リターンが最初の要素
5.ソート():ソート
デフォルトの最初の数だけ文字列型と一緒に排出それらの種類の数に変換することができます(比較スイッチの文字列型)
変換は、グループとして比較されていない
、あなたがしたい場合独自のルールに従って比較した場合、あなたはより多くのルールのパラメータの種類の機能を渡す必要があります。
A.削除またはクラスを追加
プッシュ()メソッドを使用して1 myarr.push(配列要素が......)配列の一つまたは複数のアレイエントリの末尾に追加することができ、戻り値は、新しい配列の長さです。あなたは一度複数の要素を追加することができます
var radioKeys = [];
$.each(data.data.deviceUserList, function (k, j) {
var maps = {};
maps.radioIds = j.checkItemId;
maps.radioValues = j.checkIsRight;
radioKeys.push(maps);
}
$.each(radioKeys, function (k, j) {
$($('input[name="'+j.radioIds+'"]')[j.radioValues-1]).attr("checked",true);
});
2.抜き()メソッドは、アイテムのアレイの前に1つ以上のアレイを追加することができます。
var deviceUserList = [];
$.each(data.data.deviceUserList,function(k,j){
deviceUserList.unshift(j);
})
3. myarr.pop()配列の最後の要素を削除して、削除される要素を返すために
var a=["a","b",1,2];
alert(a.pop())
4. myarr.shift()は配列の最初の要素を削除し、除去要素を返します
var a=["a","b",1,2];
alert(a.shift())
var arr = [3,8,"23","34",123,"abc","ab"] ;
alert(arr.shift())
ユニバーサル削除追加機能
myarr.splice(指数、添加元素の数...)を追加または削除する場所からインデックス開始は、数値型(配列インデックス)、削除された所定の数でなければなりません数は、それが削除されていない場合は0、あなたは要素を追加する必要があり、構成要素は、代替として使用することができます
削除された要素がある場合は、削除の要素を返します
var a=["a","b",1,2];
alert(a.splice(1,0,"c","d"))
B.変換アレイ
アレイに文字列のmystr.split()メソッド
var s = "abc,abcd,aaa";
var ss = s.split(",");// 在每个逗号(,)处进行分解。
文字列にmyarr.join([区切り])アレイ
var a, b;
a = new Array(0,1,2,3,4);
b = a.join(",");
ストリング区切り文字に特定の組成に係るアレイ素子、デリミタ指定されていない場合、デフォルトが使用する「」
リターン結果を文字列に結合されます
var a=["a","b",1,2];
alert(a.join()) //默认用逗号连接
alert(a.join("-"))
arr2.join(".")
alert(arr.join("")) ; //用空字符串连接
var content= [];
content.push("<div class='input-card content-window-card'>");
content.push("<div style=\"padding:7px 0px 0px 0px;\">");
content.push("<p class='input-item'>地址:"+ data[i].address +"</p>");
content.push("<p class='input-item'>事件来源:"+ data[i].address +"</p>");
content.push("<p class='input-item'>事件原因:"+ data[i].address +"</p>");
</div>");
drawPoint.type["infowindow"]={
content:content.join(""),
xoffset: 0,
yoffset:-31,
width:360,
height:100
};
アレイmyarr.slice℃(分割)元素の(含まれていない)端位置に指定された開始位置から採取しました。あなたが終了位置を指定しない場合、最後に取るように指定された開始位置から(配列インデックス)のサポート(開始-1)番号が新しい配列を返します。
var a=["a","b",1,2,"百度","www.baidu.com"];
alert(a.slice(2,4))
alert(a.slice(2))
alert(a.slice(-2,-1))
D.をソート
var arr = [3,8,"23","34",123,"abc","ab"] ;
arr.reverse() ;//颠倒数组元素
alert(arr1.sort()) ;
alert(arr1.sort(function(a,b){ //传递一个function类型参数,制定我们的比较规则
if(a *1 > b*1)
return 1 ;
else
return -1 ;
})) ;
バブルソート
配列をソートするmyarr.sort()あなたが機能を提供するために、他の配列に基づいてソートする場合は、パラメータを指定せずに、アルファベット順に、コーディング命じました。
var arr=[2,1,34,12,45]
// 2 1 1 1 1
// 1 2 2 2 2
// 34 34 34 12 12
// 12 12 12 34 34
// 45 45 45 45 45
function mySort (fun) {
for (var i=0; i<this.length; i++) {
for (var j=0; j<this.length-i; j++) {
if(this[j]>this[j+1]){
var aa=this[j];
this[j]=this[j+1]
this[j+1]=aa;
}
}
}
return this
}
Array.prototype.mySort= mySort
alert(arr.mySort())
ソート2つの選別パラメータ(A、B)を提供
する前に、A <BのA bを
AとB =
A <B
sort()
var a=["b","a","c","www.baidu.com"];
ar a=[1,3,5,2];
var a=[12,34,123]
a.sort(function(a,b) {
return a-b
});
alert(a)
E.接続アレイ
myarr.concat()
複数のアレイを接続して、新しい配列を返すが、元の配列には影響を与えないこと。
var a=[1,2,3];
var c=["a","b","c"]
alert(a.concat(a,c))
arr.concat(arr2)
コンプレックス
<script type="text/javascript">
var arr=new Array();
var arr2=new Array(3);
arr[0]="jack";
arr[1]="marry";
arr[2]="tom";
arr[3]="lucy";
arr[4]="june";
arr2[0]=2;
arr2[1]=1;
arr2[2]=5;
for(var i=0;i<arr.length;i++){
document.write(arr[i]+"<br/>");
}
document.write("<hr/>");
var o;
for(o in arr2){
document.write(o+" "+arr2[o]+"<br/>");
}
document.write("<hr/>");
document.write("sort()"+arr.sort()+"<br/>");
document.write("sort()"+arr2.sort()+"<br/>");
document.write("<hr/>");
document.write("join()"+arr.join()+"<br/>");
document.write("join()"+arr2.join(".")+"<br/>");
document.write("<hr/>");
document.write("concat()"+arr.concat(arr2)+"<br/>");
document.write("<hr/>");
document.write("reverse()"+arr.reverse()+"<br/>");
</script>
JS解釈配列は要素が含まれています
この方法jqueryのを使用してInArrayバリが来ます
var initParam=$("input[name='ids']").val().split(',')||[];
var codeName=new Array();
for(var i=0;i<initParam.length;i++){
var param = new Object();
param.code = initParam[i];
param.name = paramName.split(',')[i];
codeName.push(param);
}
if($.inArray(data[k].userId,initParam)=="-1"){
initParam.push(data[k].userId);
var names={};
names.name=data[k].name;
names.code=data[k].userId;
codeName.push(names);
}
var idArr = [];
for(i=0,len=codeName.length; i<len; i++){
if(""!=codeName[i]["code"]&&""!=codeName[i]["name"])
{
var obj = {};
obj.code = codeName[i]["code"];
obj.name = codeName[i]["name"];
idArr.push(obj);
}
}
return idArr;
達成するためのカスタムメソッド
var names = ["00:00","23:00","22:00","21:00","20:00","19:00","18:00","17:00","16:00","15:00","14:00","13:00","12:00","11:00","10:00","09:00","08:00","07:00","06:00","05:00","04:00","03:00","02:00","01:00"];
var url = CONTEXT_PATH +"/cusviews/dev/getRadarChartName";
var param = {
deviceCode:deviceCode
}
var retData = $.getData(url,param)
if(1000!=retData.status){
return;
}
var data = retData.data;
if(null==data){
return;
}
var rlt = {
"data" : []
};
var rltdata = [];
var dataList = new Array();
function isInArray(arr,value){
for(var i = 0; i < arr.length; i++){
if(value === arr[i]){
return true;
}
}
return false;
}
$.each(data.textlist,function(j,k){
let obj = {};
if(isInArray(names,k.substring(11,16))){
obj.text = k.substring(11,13);
}else{
obj.text = "";
}
obj.max = data.maxlist[j];
rlt.data.push(obj);
})
図1に示すように、要素を含めるかどうかを確認するIndexOfメソッドにより、この方法は、文字列の最初の出現の指定された位置の文字列値を返すことができます。文字列値を取得する場合、方法戻る存在しない-1。
var str = "123";
if(str.indexOf("3") != -1){//true
}
if(ids.indexOf(",") > -1)
ids = ids.substring(0, ids.length() - 1);
}
2、検索()メソッドは、指定された検索文字列をサブストリングの検索や正規表現に一致したサブストリングに使用されます。任意の部分文字列にマッチする、または-1なしの場合。
var str = "123";
console.log(str.search("3") != -1 ); //true
3、一致()メソッドは、文字列で指定された値を取得する、あるいは1つまたは複数の正規表現マッチングを見つけること。
var str = "123";
var reg = RegExp(/3/);
if(str.match(reg)){
// 包含
}
図4は、試験()メソッドは、文字列で指定された値を取得します。trueまたはfalseを返します。
var str = "123";
var reg = RegExp(/3/);
console.log(reg.test(str)); // true
図5に示すように、EXEC()メソッドは、一致する文字列式のポジティブを取得するために使用されます。これは、マッチング結果を格納するための配列を返します。一致が見つからない場合、戻り値はnullです。
var str = "123";
var reg = RegExp(/3/);
if(reg.exec(str)){
// 包含
}
図6に示すように、JSは、配列が文字列が含まれているか否かを判断します
var codeName=new Array();
for(var i=0;i<initParam.length;i++){
var param = new Object();
param.code = initParam[i];
param.name = paramName.split(',')[i];
codeName.push(param);
}
if(!codeName.hasOwnProperty(data[k].memberId)){
}
7、jqueryのアレイは、文字列が含まれているか否かを判断します
var initParam=$("input[name='ids']").val().split(',')||[];
if($.inArray(data[k].userId,initParam)=="-1"){
initParam.push(data[k].userId);
var names={};
names.name=data[k].name;
names.code=data[k].userId;
codeName.push(names);
}