我正在使用jQuery:
$(function() {
var $used_social_medias = [];
$('.social_medias input').click(function() {
var $data_icon = $(this).attr('data-icon'); //
console.log($data_icon);
if($(this).is(':checked')) {
eval('$used_social_medias['+$data_icon+']='+$data_icon);
console.log($used_social_medias);
} else {
eval('delete $used_social_medias['+$data_icon+']');
console.log($used_social_medias);
}
});
})
eval('$used_social_medias['+$data_icon+']='+$data_icon);
AND
eval('delete $used_social_medias['+$data_icon+']');
无效..
如何使用动态变量声明数组?
答案 0 :(得分:2)
您不需要eval
,请将其删除。
要向数组添加元素,请使用.push()
方法:
$used_social_medias.push($data_icon);
要删除元素,请使用.splice()
:
$used_social_medias.splice($used_social_medias.indexOf($data_icon), 1)
答案 1 :(得分:0)
你可以试试这个:
if($(this).is(':checked')) {
$used_social_medias.push($data_icon);
console.log($used_social_medias);
} else {
$used_social_medias.splice($used_social_medias.indexOf($data_icon), 1);
console.log($used_social_medias);
}
答案 2 :(得分:0)
尝试这样的事情:
var data = "testVariable";
eval("var temp_" + data + "= new Array();");
temp_testVariable[temp_testVariable.length]="Hello World";
alert("Array Length: " + temp_testVariable.length);
alert("Array Data: " + temp_testVariable[0]);