在我开始工作之前很久就开始使用的文件有一个包含53个不同数值的列表。但是它们都被列为逗号分隔的字符串,例如:
var numbers = "1,2,3,4,5,...,48,49,50";
稍后在脚本中,当检查传入的变量是否存在时,它会使用:
if(numbers.indexOf(String(x),0) < 0) {/*do stuff*/} else {/*do other stuff*/}
虽然这有效,但我不知道为什么选择这种做法而不是将其作为一组数字。那么在性能方面会更加优化,然后按照目前的设置方式进行吗?
答案 0 :(得分:0)
使用逗号以对象分隔的快速访问字符串内容的建议。
var numbers = "1,2,3,4,5,6,48,49,50",
object = Object.create(null), // create empty object without any properties/prototypes
x = 48;
numbers.split(',').forEach(function (a, i) {
object[a] = i; // position of item
});
// usage
if (x in object) {
/*do stuff*/
alert('pos: ' + object[x]);
} else {
/*do other stuff*/
}
&#13;