在Javascript中将变量名转换为字符串
Convert variable name to string in Javascript?
我在Stack Overflow上看到过一些关于这个的帖子,但答案似乎总是用键/值对创建一个对象。这似乎不是我目前所需要的。我想做的是:我有不同的数组,可能包含一个用户名。我想检查每个数组,看看用户名是否作为一个值存在于其中。如果是,我想要数组变量的名称的字符串表示形式。例子:
var array = ['apple', 'orange', 'grape'];
var array2 = ['apple', 'pear', 'plumb']
member_arrays = new Array();
// I'd like this block to be dynamic in that i don't have to specify the array name
// in the inArray or member_arrays[member_arrays.length+1] (just loop through my arrays
// and add a string representation of the array name to the member_arrays array)
if ($.inArray( 'apple', array ) != -1)
member_arrays[member_arrays.length] = 'array';
if ($.inArray( 'apple', array2) != -1)
member_arrays[member_arrays.length] = 'array2';
// etc...
在JavaScript中不能这样做。这就是为什么人们建议使用对象并将"变量"作为对象的属性。
顺便说一下,当你对数组进行追加操作时,你只需要长度,而不是length + 1:
member_arrays[member_arrays.length] = 'array';
数组是从零开始的,所以"下一个"槽位总是"length"的值。
编辑本;好吧,有一种情况你可以这样做:当你的变量是全局的。任何名为"x"的全局变量也可以作为"window"的属性来引用(对于web浏览器中的代码):
var x = 3;
alert(window['x']); // alerts "3"
请避免使用全局变量:-)
我不确定您为什么要这样做,但是先把它放在一边,这里有一种接近您似乎正在寻找的方法。它确实像其他人建议的那样使用对象,但最终得到的是包含通过测试的候选数组名称的"答案数组"。
您在示例中确实使用了jQuery,所以我也这样做了。但是你也可以用同样的方式使用纯JavaScript .indexOf()
。
var candidates = {
'array' : ['apple', 'orange', 'grape'],
'array2' : ['apple', 'pear', 'plumb']
};
var member_arrays = [];
for( var test in candidates ){
if( $.inArray( 'apple', candidates[test] ) !== -1 ){ // could use .indexOf()
member_arrays.push( test ); // use push; no need to specify an index
}
}
console.log( member_arrays ); // -> ["array","array2"]
相关文章:
- 如何使用JQuery在Javascript中转换字符串中的HTML元素
- 将JSON插入MongoDB中,自动转换字符串中的日期
- 以点表示法转换字符串以获取对象引用
- 在 JavaScript 中转换字符串 11/28/2014 11:00 AM 到现在
- 为什么在主干的字符串数组中转换字符串数组
- 如何简单地转换字符串
- AngularJS如何转换字符串“;yyyyMMdd”;迄今为止
- 如何防止htmlspecialchar(PHP)转换字符串中的整数
- 刷新Aurelia中的i18n转换字符串插值
- 发布时禁用转换字符串
- 转换字符串货币
- 在javascript ajax调用中转换字符串到数组
- 转换字符串包含时间到24小时的时间,我可以做数学与- jQuery
- IE javascript引擎在转换字符串到日期时呈现NaN
- 如何转换字符串“a,b,c,d……”成a.b (c, d . .);来执行
- 如何在javascript中转换字符串到日期格式
- 如何在嵌套数组中转换字符串数组
- 在javascript中转换字符串日期
- 转换字符串在印度格式的javascript
- Javascript转换字符串到数组的对象