js把數組拼接字符串

總所周知,直接傳數組給後端,很定是有問題的,辦法有三種:

1、如果你是使用jquery 

那麼直接用$.param(str)就可以了

$(document).ready(function(){
	personObj=new Object();
	personObj.firstname="John";
	personObj.lastname="Doe";
	personObj.age=50;
	personObj.eyecolor="blue"; 
	$("button").click(function(){
		$("div").text($.param(personObj));
	});
});

2、如果你是用的非jQuery

那麼我們可以自己寫一個方法來實現類似於jquery.param()功能的代碼:

function isFunction(obj) {
  return ({}).toString.call(obj) == '[object Function]'
}

function buildParams(prefix, obj, add) {
  if (Array.isArray(obj)) {
    obj.forEach(function(item) {
      add(prefix, item)
    })

  } else {
    add(prefix, obj)
  }
}

function param(a) {
  var prefix,
      s = [],
      add = function(key, value) {
        value = isFunction(value) ? value() : (value == null ? '' : value)
        s[s.length] = encodeURIComponent(key) + '=' + encodeURIComponent(value)
      }

  for (prefix in a) {
    buildParams(prefix, a[prefix], add)
  }

  return s.join('&').replace(/%20/g, '+')
}
之後直接調用param()方法就可以了


3、如果後端需要直接把數組序列,直接就拼接爲字符串,
比如['name','age','address']的字符串需要拼接爲'name,age,address'這種情況

        let List
        let arr=new Array();
        strArray.forEach(function (value, index) {
          arr.push(value);
          List=arr.join(",");
        })
直接輸出list就完成了




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章