我在php中有一个关联数组,我解析它从中获取json(json_encode)然后我将结果存储在javascript var中
var myArray = <?php print json_encode($phpArray); ?>;
Run Code Online (Sandbox Code Playgroud)
现在,当用户点击按钮时,我应该动态地从数组中选择另一个元素,例如,我选择了一个随机的第一个元素:
var an_element = myArray.a2.link;
Run Code Online (Sandbox Code Playgroud)
-'a2'是主阵列中的数组
-'link'是a2数组中的元素.
所以现在用户按下我的按钮,我想选择一个随机的其他数组ID(例如a5,a9等)我试过这个:
var randomnumber=Math.floor(Math.random()*101); // choose random number
var newRandomArrayID= "a"+randomnumber;
an_element = myArray.newRandomArrayID.link;
Run Code Online (Sandbox Code Playgroud)
它不起作用,它说myArray.newRandomArrayID是未定义的.有人可以帮忙吗?谢谢
<script type="text/javascript">
var sumobj = { 'foo':"apple",'bar':"banana" };
var prop1 = 'foo';
document.write( sumobj.prop1 + "<br />" );
</script>
Run Code Online (Sandbox Code Playgroud)
我希望能够做类似于上面的事情,但目前显示"未定义".
无论如何要做到这一点,还是接近它?
var example= {
'fr' : {
name: "France",
country: "europe",
},
'es' : {
name: "Espana",
pre: "europe",
},
};
Run Code Online (Sandbox Code Playgroud)
我想找一个使用变量的数组名称.这里有一个不起作用的例子:
var select = 'country';
console.log(example['fr'].select);
Run Code Online (Sandbox Code Playgroud)
我希望这段代码返回"欧洲",但事实并非如此.我怎么能以简单的方式做?
我有一个 mongo DB,在 mongo shell 中,当我运行“show collections”时,它返回集合名称中带有点的集合,例如
a.1
a.2
a.3
Run Code Online (Sandbox Code Playgroud)
我如何在命令中引用它
db.a.1.find()
Run Code Online (Sandbox Code Playgroud)
上面返回 SyntaxError:missing ; 声明之前
我有一个json对象,有4个MAKE,4个MODEL,4年,4个状态,4个PLATE,4个COLOR属性:
Object {MAKE1="xxx ", MODEL1='xxx', YEAR1='xxx', STATE1='xxx', PLATE1='xxx', COLOR1='xxx', MAKE2='xxx', MODEL2='xxx' ,..., MAKE3='xx',..., MAKE4='xxx',...,COLOR4='xxx'}
Run Code Online (Sandbox Code Playgroud)
我的javascript:
function displayPP() {
$.getJSON('/ipad/api/formpp/' + personId + '/getmemberlatestpp', function(data) {
for (var index=1; index<5; index++) {
$('#ppBody').append('<tr>');
var MAKE = 'MAKE' + index, MODEL = 'MODEL' + index, YEAR = 'YEAR' + index, STATE = 'STATE' + index, PLATE = 'PLATE' + index, COLOR= 'COLOR' + index;
var HTML = '<td>' + data.MAKE + '</td><td>' + data.MODEL + '</td><td>' + data.YEAR + '</td><td>' + data.STATE …Run Code Online (Sandbox Code Playgroud) 如果我有这样的javascript对象......
window.object =
{
"Element1" :
{
"startDate" : "-1m",
"endDate" : "0d"
}
};
Run Code Online (Sandbox Code Playgroud)
我可以使用下面的代码提醒-1m ...
alert(object.Element1.startDate);
Run Code Online (Sandbox Code Playgroud)
但是,如果通过参数将Element1作为字符串提供给我,该怎么办?如果我必须使用变量,我怎么能得到相同的结果?像这样但不正确......
var elementId = this.id;
alert(object.elementId.startDate);
Run Code Online (Sandbox Code Playgroud) var OrderDetails = function () {
var orderdetails = {};
orderdetails.doSomething = function(){
alert('do something');
};
return orderdetails;
}
Run Code Online (Sandbox Code Playgroud)
代码中的其他地方......
processMethod('doSomething')
function processMethod(strMethod)
{
// strMethod = 'doSomething';
var orderdet = OrderDetails(); //not the exact instantiation, just illustrating it is instantiated
orderdet.strMethod(); //this is the line I'm stuck with.
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试通过它在Javascript中的String名称来调用方法.我已经看过apply,call和eval()作为这个问题的潜在解决方案,但似乎无法使它们中的任何一个工作.对于我的特定对象场景,是否有任何关于语法的指导?
我有一个javascript对象定义如下:
var user = { name:'Allen', age:'26', gender:'male'}
Run Code Online (Sandbox Code Playgroud)
我想通过字符串引用用户属性user.name,如下所示:
var string = "name";
var username = user.string;
Run Code Online (Sandbox Code Playgroud)
这不起作用,我该怎么办呢?
编辑:只是为了澄清,我希望user.string等同于user.name - 有些人可能会问为什么我不只是调用user.name,这是因为我有一个字符串数组,我想评估对象.
有没有办法将变量添加到jQuery命令中,如下所示:
var id = 10;
var msg = CKEDITOR.instances.contentedit+id.getData();
Run Code Online (Sandbox Code Playgroud)
我预计
CKEDITOR.instances.contentedit10.getData();
Run Code Online (Sandbox Code Playgroud)
从上面的代码
但它对我不起作用并导致错误,因为它没有正确地将变量添加到命令中.
我有一个问题。在我的主机/云解决方案中,我必须使用“在其“环境变量”中定义的”方式为每个国家/地区使用定价环境变量。
BASIC_PRICE_FR_PRODUCT = "50";
COMPLEX_PRICE_FR_PRODUCT = 100;
BASIC_PRICE_UK_PRODUCT = "37";
COMPLEX_PRICE_UK_PRODUCT = "200";
BASIC_PRICE_ES_PRODUCT = "75";
COMPLEX_PRICE_ES_PRODUCT = "300";
Run Code Online (Sandbox Code Playgroud)
我可以使用process.env.XXX访问这些文件,例如 process.env.BASIC_PRICE_FR
如您所见,这些环境变量取决于国家/地区,因为一个国家/地区与另一个国家/地区的价格不同。
在我们的node.js应用程序中,挑战在于,执行一个函数时,它会自动了解所在国家/地区,因此,我们可以(并且必须)使用“当前”国家/地区和当前country_iso_code(例如“ fr”),为此,我们必须使用与该国家/地区匹配的定价。
在阅读了关于“动态变量名称”的一些文章之后,我尝试了eval,global []和window [],如下所示,但是没有任何作用,并且所有输出都为“ undefined”值
//note: iso_code_3166_we_can_use is something passed to the function by the final user or by some other lambda in the function context.
const current_country_iso_code_uppercase = iso_code_3166_we_can_use;
const basicPrice = parseInt( "process.env.BASIC_PRICE_" + current_country_iso_code_uppercase + "_PRODUCT")
console.log(basicPrice)//bug here as outputs "undefined"
Run Code Online (Sandbox Code Playgroud)
编辑
使用process.env ['xxx']的建议无效,因此我在此处添加了结果
console.log(process.env.BASIC_PRICE_FR_PRODUCT);//outputs 50
console.log('BASIC_PRICE_' + iso_code_uppercase + '_PRODUCT' );//just to be …Run Code Online (Sandbox Code Playgroud) javascript ×9
jquery ×2
json ×2
ckeditor ×1
literals ×1
mongo-shell ×1
mongodb ×1
node.js ×1
parsing ×1
reflection ×1
select ×1
syntax ×1
variables ×1
webpack ×1