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

时间:2017-01-10 05:48:28

标签: javascript arrays

这是我的数组

[
  {    
    "id": 2,
    "language": {
      "name": "English",
      "abbreviation": "EN"
  }
]  

访问language.name

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

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

这里显示

[object Object].language.name;

如何获取实际数组值?

2 个答案:

答案 0 :(得分:5)

您需要以与使用数组相同的方式访问对象属性,仅使用字符串作为键。像这样:

function get(arrName)
{
    for(var k = 0 ; k< arr.length; k++)
    {
        console.log(arr[k][arrName].name);
    }
}

答案 1 :(得分:2)

var mySharedObject:SharedObject = SharedObject.getLocal("save");

btnSave.addEventListener(MouseEvent.CLICK, saveCurrentFrame);
btnLoad.addEventListener(MouseEvent.CLICK, getLastFrame);

function saveCurrentFrame(event:MouseEvent):void
{
    mySharedObject.data.lastframe = currentFrame;
    mySharedObject.flush();
}

function getLastFrame(event:MouseEvent):void
{
    if (mySharedObject.data.lastframe != null)
    {
        gotoAndStop(mySharedObject.data.lastframe);
    }
} 

如果我没记错的话应该是。

请随意查看此dynamic access to an array in Javascript以获取广泛的迭代代码。

感谢你到目前为止所取得的成就。