js-迭代器值同步变量迭代器

来源:互联网 发布:python the hard way 编辑:程序博客网 时间:2024/05/16 14:25

项目中曾经遇到过这样一个问题,上传图片模块最多上传4张,但是每张图片都是可以删除的,那么上送到后台的图片数据就需要根据页面上最终的图片数组结果上送,而不是你上传到云服务端的图片数量,基于此考虑,各种翻资料,还真的找到了相近的一款迭代器,同步变量迭代器


//同步变量迭代器

var A = {
common:{},
client:{
user:{
username:'AClient',
uid:'123'
}
},
server:{}
};


AGetter = function(key){
if(!A){
return underlined;
}

var result = A;
key = key.split('.');
for(var i = 0 , len = key.length ; i < len; i++){
if(result[key[i]] !== undefined){
result = result[key[i]];
}else{
return undefined
}
}
return result;
}
console.log(AGetter('client.user.username'));//输出 AClient
console.log(AGetter('server.lang.local'));        //undefined


ASetter = function(key,val){
if(!A){
return false;
}
var result = A;
key = key.split('.');
for(var i = 0 , len = key.length ; i < len-1 ; i++){
if(result[key[i]] === undefined){
result[key[i]] = {};
}
if(!(result[key[i]] instanceof Object)){
throw new Error('A.' + key.splice(0,i+1).join('.') + 'is not Object');
return false;
}
result = result[key[i]];
}
return result[key[i]] = val;
}
console.log(ASetter('client.module.news.sports','on'));//输出 on

0 0
原创粉丝点击