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

项目中曾经遇到过这样一个问题,上传图片模块最多上传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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值