相关疑难解决方法(0)

动态引用类属性

<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)

我希望能够做类似于上面的事情,但目前显示"未定义".

无论如何要做到这一点,还是接近它?

javascript syntax

1
推荐指数
1
解决办法
96
查看次数

如何在命令中添加javascript变量

有没有办法将变量添加到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)

从上面的代码

但它对我不起作用并导致错误,因为它没有正确地将变量添加到命令中.

javascript jquery ckeditor

1
推荐指数
1
解决办法
76
查看次数

如何添加带有特殊字符的字符串作为json键?

我想在JSON中添加带有特殊字符的字符串作为KEY.例如" Sam @ 123 "
这是代码,我正在尝试.

<script type="text/javascript">

var jsonObj={"sam":1,"rudolph":1,"js":1," ":12};
var key="samw@123";
alert("Add it.")
// Adding the key with Special Character in JSON
eval("jsonObj."+key+"=11")
alert("Added successfully.")

for(var i=0; i< Object.keys(jsonObj).length; i++){
alert("KEY#"+Object.keys(jsonObj)[i]);
}

</script>
Run Code Online (Sandbox Code Playgroud)

我在第6行" eval......" 收到错误.

未捕获的SyntaxError:意外的标记ILLEGAL

还有其他方法可以在Json中添加特殊字符作为KEY吗?

我也无法添加

var key="samw-123";
Run Code Online (Sandbox Code Playgroud)

为此,我得到错误说

未捕获的ReferenceError:赋值中的左侧无效

javascript json special-characters

0
推荐指数
1
解决办法
4108
查看次数

执行函数为字符串

我怎样才能执行这样的Javascript函数:

cursor.continue(parameters)
Run Code Online (Sandbox Code Playgroud)

通过使用字符串来识别函数名称,而不使用eval?像这样的东西:

cursor.callMethod("continue", parameters);
Run Code Online (Sandbox Code Playgroud)

这可能吗?

javascript

0
推荐指数
1
解决办法
92
查看次数

使用angularjs forEach的this.key和this [key]之间的区别

我正在使用forEach函数循环一个简单的对象,我将对象作为上下文传递.

当我尝试使用this[key]它来访问一个对象属性但是this.key不起作用时,有人可以告诉我们它为什么会这样做吗?

var calendar =  {
        moveAll: false,
        moveSingleDay: false,
        translateRange : false
}

angular.forEach(calendar, function(val, key){
      console.log(this[key]); // returns val
      console.log(this.key); // returns undefined
}, calendar);
Run Code Online (Sandbox Code Playgroud)

javascript angularjs

0
推荐指数
1
解决办法
73
查看次数

如何使用包含下划线的变量访问对象属性

我正在尝试使用包含下划线的变量访问对象属性,但是它给出了错误Uncaught ReferenceError: topic_ is not defined.我确实研究了这个问题的解决方案使用变量动态访问对象属性,但它不起作用.

var topics_page_no = {
    topic_1: [2,3,4],
    topic_2: [5,6,7]
}

/* Navigate to particular topic's first page based on selection */
$(document).on('click', '.topic-menu-dropdown-item', function(){
    var topic_id = $(this).data('topic-id');
    console.log(topics_page_no.topic_[topic_id][0] + ".html");
});
Run Code Online (Sandbox Code Playgroud)

预期产量: 2.html / 5.html

javascript jquery

0
推荐指数
1
解决办法
82
查看次数

更改数组javascript中'key'的字符串

这是我的阵列

[
  {    
    "id": 2,
    "language": {
      "name": "English",
      "abbreviation": "EN"
  }
]  
Run Code Online (Sandbox Code Playgroud)

访问 language.name

function get(arrName)
{
    for(var k = 0 ; k< arr.length; k++)
    {
        console.log(arr[k].language.name); //English
    }
}
Run Code Online (Sandbox Code Playgroud)

arr[k].language.name,我想把'language'字符串作为动态,我从函数的参数中得到它arrName.应该如此

function get(arrName)
{
    for(var k = 0 ; k< arr.length; k++)
    {
        var dynamicArr = '.'+arrName+'.name';
        console.log(arr[k]+dynamicArr);
    }
}
Run Code Online (Sandbox Code Playgroud)

在这里显示

[object Object].language.name;
Run Code Online (Sandbox Code Playgroud)

如何获得实际的数组值?

javascript arrays

0
推荐指数
1
解决办法
89
查看次数

在 JSON 字符串中插入 Javascript (jquery) 变量

我保证已经搜索了“对此的简单答案”(我坚持使用“简单”这个词),但不幸的是我找不到任何答案(或关于我对 JSON/Jquery 的理解的平易近人的答案)。当然,我对 JSON 太菜鸟了,无法创建一个精确的问题(并找到正确的答案......)

无论如何,这是我的问题。

我的 JSON 文件prices.json(示例):

{
  "test1" : {
    "sub_test1_1" : 10,
    "sub_test1_2" : 20,
    "sub_test1_3" : 30,
  },
  "test2" : {
    "sub_test2_1" : 40,
    "sub_test2_2" : 50,
    "sub_test2_3" : 60,
  }
}
Run Code Online (Sandbox Code Playgroud)

这是我的jquery

$("#testing").click(function() {
  $.getJSON('/prices.json', function(jsonData) {
    alert(jsonData.test2.sub_test_2_2);
  });
});
Run Code Online (Sandbox Code Playgroud)

警报给了我正确的数据:50

所以现在,我定义一个简单的变量,例如

var crazyVar = test2;
Run Code Online (Sandbox Code Playgroud)

我想将此变量放入字符串“jsonData.test2.sub_test_2_2”中,例如

$("#testing").click(function() {
  $.getJSON('/prices.json', function(jsonData) {
    alert(jsonData.crazyVar.sub_test_2_2);
  });
});
Run Code Online (Sandbox Code Playgroud)

当然,它失败了:(

我读到我需要玩弄对象,我尝试了所有方法将 madVar 转换为一种“对象”,但不可能找到一个简单的解决方案。

javascript jquery json

0
推荐指数
1
解决办法
187
查看次数

带有var的Javascript方法

我试图获取对象中的对象的值,但键值是一个变量,所以我不知道如何使这个代码工作:

var res = 'Hello';
var greetings = {
  'Hello': {'lang':'EN' ,'goodbye': 'Goodbye'},
  'Bonjour': {'lang':'FR', 'goodbye': 'Aurevoir'}
}
Run Code Online (Sandbox Code Playgroud)

后来我想用这个:

greetings.res.lang
Run Code Online (Sandbox Code Playgroud)

得到:'EN',现在我得到'未定义',因为它评估表达式greetings.res而不是greeting.Hello所以它没有在列表中找到它.

编辑:谢谢你的快速回答!

javascript methods var object

0
推荐指数
1
解决办法
55
查看次数

动态访问.map数组函数中的对象属性

我希望有可重用的函数,它根据作为参数传递给属性的属性映射对象数组.

这是我的代码:

let arr = [
  {
    country: 'poland',
    population: 380000
  },
  {
    country: 'bangladesh',
    population: 3492423
  }
]

function filterMyArr (myArr, condition) {
  return myArr.map(element => element.country)
}

console.log(filterMyArr(arr))
Run Code Online (Sandbox Code Playgroud)

当我更改代码并尝试传递条件时,执行它时不起作用.我想用第二个参数调用一个函数,例如filterMyArr(arr,country),并得到类似的结果.我希望它可以重复使用,所以我可以将它用于人口或任何其他财产.谢谢.

javascript arrays properties object

0
推荐指数
1
解决办法
278
查看次数