将JavaScript对象property name变成小写

来源:互联网 发布:java intellij i18n 编辑:程序博客网 时间:2024/06/02 01:28
function lowerPropertyNames(obj) {  if (obj == null) {  return; } if (typeof obj != 'object') {  return; } if (isArray(obj) && obj.length > 0) {  // iterate over array obj  for (var index in obj) {   lowerPropertyNames(obj[index]);  } } else {  // iterate over object obj  var props = Object.keys(obj);  var propNums = props.length;  if (propNums == 0) {   return;  }  for (var index = 0; index < propNums; index++) {   var prop = props[index];   var prop_lowercase = prop.toLowerCase();   if (prop_lowercase !== prop) {    obj[prop_lowercase] = obj[prop];    delete obj[prop];   }   if (typeof obj[prop_lowercase] == 'object') {    lowerPropertyNames(obj[prop_lowercase]);   }  } } function isArray(o) {  return typeof o === "object" &&  Object.prototype.toString.call(o) === "[object Array]"; };}//基于原型的方法Object.prototype.propertyToLowerCase = function () { lowerPropertyNames(this); function lowerPropertyNames(obj) {    if (obj == null) {   return;  }  if (typeof obj != 'object') {   return;  }  if (isArray(obj) && obj.length > 0) {   // iterate over array obj   for (var index in obj) {    lowerPropertyNames(obj[index]);   }  } else {   // iterate over object obj   var props = Object.keys(obj);   var propNums = props.length;   if (propNums == 0) {    return;   }   for (var index = 0; index < propNums; index++) {    var prop = props[index];    var prop_lowercase = prop.toLowerCase();    if (prop_lowercase !== prop) {     obj[prop_lowercase] = obj[prop];     delete obj[prop];    }    if (typeof obj[prop_lowercase] == 'object') {     lowerPropertyNames(obj[prop_lowercase]);    }   }  }  function isArray(o) {   return typeof o === "object" &&   Object.prototype.toString.call(o) === "[object Array]";  }; }}

0 0
原创粉丝点击