相关疑难解决方法(0)

使用字符串键访问嵌套的JavaScript对象

我有这样的数据结构:

var someObject = {
    'part1' : {
        'name': 'Part 1',
        'size': '20',
        'qty' : '50'
    },
    'part2' : {
        'name': 'Part 2',
        'size': '15',
        'qty' : '60'
    },
    'part3' : [
        {
            'name': 'Part 3A',
            'size': '10',
            'qty' : '20'
        }, {
            'name': 'Part 3B',
            'size': '5',
            'qty' : '20'
        }, {
            'name': 'Part 3C',
            'size': '7.5',
            'qty' : '20'
        }
    ]
};
Run Code Online (Sandbox Code Playgroud)

我想使用这些变量访问数据:

var part1name = "part1.name";
var part2quantity = "part2.qty";
var part3name1 = "part3[0].name";
Run Code Online (Sandbox Code Playgroud)

part1name应该用someObject.part1.name's值填充,即"Part …

javascript jquery nested path

410
推荐指数
16
解决办法
18万
查看次数

将点符号中的JavaScript字符串转换为对象引用

给定一个JS对象

var obj = { a: { b: '1', c: '2' } }
Run Code Online (Sandbox Code Playgroud)

和一个字符串

"a.b"
Run Code Online (Sandbox Code Playgroud)

如何将字符串转换为点符号,以便我可以去

var val = obj.a.b
Run Code Online (Sandbox Code Playgroud)

如果字符串只是'a'我可以使用,'a'但这更复杂.我想有一些简单的方法,但它目前逃脱了.

javascript

188
推荐指数
13
解决办法
10万
查看次数

JavaScript:使用变量访问对象多级属性

如果我使用变量作为键,如何访问多级属性?

这不起作用:

var obj = {
    first: {thirst: "yo"},
    second: {beckon: "dud"}
}
var key = "first.thirst";
var result = obj[key];
Run Code Online (Sandbox Code Playgroud)

javascript

5
推荐指数
2
解决办法
6685
查看次数

基于数组生成的递归对象

我有一个数组,这是一个键列表:['one', 'two', 'three'].

我需要生成一个以下格式的对象:

{
  path: 'one',
  nested: {
    path: 'two',
    nested: {
      path: 'three'
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

到目前为止,我已经尝试了几种方法,但它们看起来很混乱(我有一种方法可以使用,while(current = array.pop())但它需要几个条件来处理第一个和最后一个元素.

有一个更整洁的递归策略吗?

javascript

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

通过字符串引用嵌套的 json 对象属性

我知道我在这里遗漏了一些明显的东西,但假设我有一个如下所示的 JSON 对象:

testObj = {
            levelOne: {
                       levelTwo: []
            }
}
Run Code Online (Sandbox Code Playgroud)

我还有一个字符串值:

var prop = 'levelOne.levelTwo';
Run Code Online (Sandbox Code Playgroud)

我正在尝试确定是否有任何方法可以基本上做这样的事情:

var x = testObj[prop];
Run Code Online (Sandbox Code Playgroud)

这行不通,但是有什么办法可以做到同等的效果吗?

javascript angularjs

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

Javascript用方括号替换字符串点表示法

我试图弄清楚如何用方括号替换点表示法中的字符串:

emergency.1.phone.2
Run Code Online (Sandbox Code Playgroud)

应转换为:

emergency[1][phone][2]
Run Code Online (Sandbox Code Playgroud)

我正在尝试使其具有动态性,因此无论存在多少个点,它都将转换字符串。

javascript arrays jquery

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

使用eval将字符串转换为函数是不是很邪恶?

我在eval()上听到了很多不同的意见,并且有点不确定在这种情况下是否可以使用eval():

假设我有一个这样的对象:

var bla = {
blubb: function (callback) {
       //GET some stuff via ajax
       //call the callback
    }
}
Run Code Online (Sandbox Code Playgroud)

和这样的字符串:

 var someString = "bla.blubb";
Run Code Online (Sandbox Code Playgroud)

为了调用函数(和回调函数)来评估字符串是不是很邪恶?

var callMe = eval(someString)
callMe(function(){
   alert('yay')!
});
Run Code Online (Sandbox Code Playgroud)

javascript

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

标签 统计

javascript ×7

jquery ×2

angularjs ×1

arrays ×1

nested ×1

path ×1