相关疑难解决方法(0)

使用变量动态访问对象属性

我正在尝试使用动态名称访问对象的属性.这可能吗?

const something = { bar: "Foobar!" };
const foo = 'bar';
something.foo; // The idea is to access something.bar, getting "Foobar!"
Run Code Online (Sandbox Code Playgroud)

javascript properties object

654
推荐指数
10
解决办法
31万
查看次数

如何使用包含属性名称的变量检查对象属性是否存在?

我正在检查是否存在一个对象属性,其中包含一个保存有问题的属性名称的变量.

var myObj;
myObj.prop = "exists";
var myProp = "p"+"r"+"o"+"p";

if(myObj.myProp){
    alert("yes, i have that property");
};
Run Code Online (Sandbox Code Playgroud)

这是undefined因为它正在寻找,myObj.myProp但我希望它来检查myObj.prop

javascript object

619
推荐指数
8
解决办法
60万
查看次数

通过字符串var获取自定义对象属性

可能重复:
javascript对象,访问变量属性名称?

试图在我的JS中获得更高级...

我有一个自定义对象:

Object myObject = new Object();

myObject.thing = anythingHere;
Run Code Online (Sandbox Code Playgroud)

我希望能够通过传入一个字符串来检索自定义对象属性...例如:

var propertyString = 'thing';
alert(myObject.propertyString);
Run Code Online (Sandbox Code Playgroud)

我无法理解这一点.我已经查看了一些自定义对象的教程 - 但没有显示如何获取我不知道名称的属性...另外 - 如果可能的话,我想避免遍历所有属性...

谢谢!!!

javascript properties custom-object

92
推荐指数
2
解决办法
6万
查看次数

如何使用动态密钥访问对象?

如何使用变量作为键来访问对象.这是我的代码示例:

var o = {"k1": "111", "k2": "222"};
alert(o.k1); //working fine
var key = "k"+1; alert(key); // k1
alert(o.key); //not working
Run Code Online (Sandbox Code Playgroud)

javascript

42
推荐指数
2
解决办法
8万
查看次数

无论分页如何,JQGrid都会获取特定列的所有值

我正在使用"json"从db中提取数据.如何获取特定列的所有值.

我想获得"PrimarySkill"列的所有值/全值,而不管分页.

var texts = $("#listTableSupply").jqGrid('getCol', 'PrimarySkill');
Run Code Online (Sandbox Code Playgroud)

这段代码只给我一个"PrimarySkill"的子集,即给我当前页面中的值.

我想要全套价值.

在此输入图像描述

jquery jqgrid

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

在此javascript中使用变量for循环

我希望for循环打印出所有的文本框值,它不会这样思考,我该怎么办呢?

<script>
    current = x;

    for (var i = 0; i < current; i++) {    
        var num = document.calculator.textbox + i + .value;    
        document.write("<br>" + num);    
    }
</script>
<form name="calculator">
    <input type="text" name="textbox1">
    <input type="text" name="textbox2">
    <input type="text" name="textbox3">
    <input type="text" name="textbox4">
    <input type="text" name="textbox5">
    <!--...... infinite amount of textboxes-->
</form>
Run Code Online (Sandbox Code Playgroud)

javascript variables

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

从函数中访问javascript对象

为什么先工作而不是后者?*它只有一个小的区别,在后一种情况下,我使用速记来访问猫对象属性.我读到如果"属性的名称将是一个有效的变量名称 - 当它没有任何空格或符号并且不以数字字符开头时"它应该没有任何区别.

    //this works 
    var cats = {Spot:true};

    function addCat (name) {   cats[name] = true; }

    addCat("white");

    console.log ("white" in cats);  //true

    console.log (cats.white); //true
Run Code Online (Sandbox Code Playgroud)
    //this doesn't work 
    var cats = {Spot:true};

    function addCat (name) {   cats.name = true; }

    addCat("white");

    console.log ("white" in cats); //false

    console.log (cats.white); //undefined
Run Code Online (Sandbox Code Playgroud)

javascript object javascript-objects

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

获得嵌套的obj值

给出以下obj:

var inputMapping = {
 nonNestedItem: "someItem here",
 sections: {
   general: "Some general section information" 
 }
};
Run Code Online (Sandbox Code Playgroud)

我正在get通过传入字符串"nonNestedItem"或嵌套的情况为该数据编写函数"sections.general".我不得不使用一个eval,我想知道是否有更好的方法来做到这一点.

这是我到目前为止所做的,它可以正常工作.但改善!

function getNode(name) {
  var n = name.split(".");

  if (n.length === 1) { 
   n = name[0];
  } else { 
    var isValid = true,
        evalStr = 'inputMapping';

    for (var i=0;i<n.length;i++) { 
      evalStr += '["'+ n[i] +'"]';

      if (eval(evalStr) === undefined) {
        isValid = false;
        break;
      }
    }

    if (isValid) { 
      // Do something like …
Run Code Online (Sandbox Code Playgroud)

javascript eval

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

使用连字符引用对象的属性名称

我定义了一个对象,其属性名称中带有连字符。

var data = {
  "foo-bar": "value",
  "this-that": "another value"
}
Run Code Online (Sandbox Code Playgroud)

现在我需要在JS中引用这个属性,但这两种方式都会导致语法错误。

console.log( data.foo-bar )
Run Code Online (Sandbox Code Playgroud)

console.log( data."foo-bar" )
Run Code Online (Sandbox Code Playgroud)

所以我的问题是。如何在 JS 中访问名称中包含连字符的属性?


免责声明:服务器端功能需要对属性进行连字符命名,我真的不想重写别人的整个脚本来接受这样的输入参数。是的,我知道目前的方法并不是最干净的方法。

javascript

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

使用包含":"(或其他特殊字符)的属性名称的knockout

我正在使用knockout数据绑定来呈现string => string字典的编辑器.但是,当字典键包含冒号等特殊字符时,我遇到了麻烦.有没有办法"逃避"属性名称或特殊字符,以便敲除将正确绑定?例如,以下内容未正确绑定:

<p data-bind="text: foo::bar" />
Run Code Online (Sandbox Code Playgroud)

我正在使用版本2.1.0的淘汰赛

javascript knockout.js

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