是否有更好的/优雅的方式将JavaScript拆分值分配给变量?
Is there a nicer/elegant way to assign JavaScript split values to variables?
感觉可能有更好的方法。
var values = resp.split(':');
var delta = values[0]; var newvalue = values[1]; var admin = values[2];
JavaScript 1.7新增功能-忽略某些返回值:
var [delta, newvalue, admin] = resp.split(':');
我只能想到:
var values = resp.split(':');
var delta = values[0],
newvalue = values[1],
admin = values[2];
或如lonesomeday所建议的:
var values = resp.split(':'),
delta = values[0],
newvalue = values[1],
admin = values[2];
我认为最好不要重复var
关键字。所以:
var values = resp.split(':'),
delta = values[0],
newvalue = values[1],
admin = values[2];
(逗号后有或没有换行符,等号有或没有对齐)
但是你几乎没有别的办法来美化它。
除非你愿意做一些愚蠢的使用这样的辅助函数:
function assignFromArray(vars, vals){
for (var i=0; i<vars.length; i++)
window[vars[i]] = vals[i];
}
assignFromArray(["delta","newValue","admin"], resp.split(":"));
(这当然只适用于全局变量,尽管在非全局作用域的局部对象上创建属性很容易)
您可以避免使用显式索引,而只是相应地排序声明。当然也可以用单个var
关键字完成。
它更容易更改和扩展,因为您可能希望按照数组中出现的顺序进行声明。
var values = resp.split(':');
var delta = values.shift();
var newvalue = values.shift();
var admin = values.shift();
与单个语句:
var values = resp.split(':'),
delta = values.shift(),
newvalue = values.shift(),
admin = values.shift();
使用一个漂亮的小assign()函数将值与新对象中的键关联起来。然后,返回对象:
var assign = function(values, keys) {
var i, vmax, kmax, output = {};
for(i=0, vmax=values.length, kmax=keys.length; i<vmax && i<kmax; i++) {
output[keys[i]] = values[i];
}
return output;
};
var result = assign(["bar","beer"], ["foo","free"]);
console.log(result);
// returns { "foo" : "bar", "free" : "beer" } accessed as result.foo and result.free
use for loop
var values = resp.split(':');
for(var i=0; i<values.length; i++) {
var value = values[i];
alert(i =") "+value);
}
要删除数组,您可以尝试这样做:
var delta = resp.substring(0, resp.indexOf(':')),
newvalue = resp.substring(resp.indexOf(':') + 1, resp.lastIndexOf(':')),
admin = resp.substring(resp.lastIndexOf(':') + 1, resp.length);
别担心,我并不期待一个被接受的答案!:)我只是想从另一个角度看问题。
相关文章:
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- 在循环中分配json值时,值被覆盖
- 动态分配GA增强型电子商务跟踪器
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- 如何在jQuery中将函数的输出分配给变量
- 拆分单词jquery
- 为集合分配大量的模型弹药
- 拆分文本以每隔n个字符添加一行新行,并注意空格
- onclick函数需要双击,因为类分配延迟
- Javascript 将变量分配给警报
- 将字符串拆分为数组时出现JavaScript错误
- 在JavaScript中拆分日期字符串的更好方法是什么
- webpack代码拆分了handlerbs文件——结果是文件很大
- 将节点数据分配给另一个变量jstree
- 如何将字符串拆分为字符,但在javascript中保留空格
- 编写一个代码来拆分字符串“test”,并将Name的值分配给文本框,将ok的值分配到复选框
- 如何拆分数组或分配键,jquery
- 按设置的数量拆分字符串,并为拆分分配变量
- 在Javascript中拆分和分配许多值的更好方法
- 拆分字母并分配类别