JavaScript数组push()

时间:2016-01-14 23:31:21

标签: javascript arrays

我想在数组中添加一个新项目,但我总是得到push()不是函数的错误。这是我的目标:

    var userInfo =
        {
            Facebook_ID:"",
            Ime:"",
            Prezime:"",
            Email:"",
            DatumRodjenja:"",
            Hometown:"",
            ProfilePictureLink: "",
            Movies:[]
        }

这是我的JavaScript功能:

FB.api('/me/movies', function (response) {
        response.data.forEach(function (entry)
        {
            userInfo.Movies.push(entry.name);
        })
        });

我总是收到此错误:TypeError:userInfo.Movies.push不是函数。我将不胜感激。

2 个答案:

答案 0 :(得分:1)

我的猜测在你的代码中的某个地方你有这样的东西:

 userInfo.Movies.push = 123;

你覆盖了推送功能。

var userInfo =
        {
            Facebook_ID:"",
            Ime:"",
            Prezime:"",
            Email:"",
            DatumRodjenja:"",
            Hometown:"",
            ProfilePictureLink: "",
            Movies:[]
        }

        userInfo.Movies.push = 123;   // oops!

        userInfo.Movies.push("hello");
        userInfo.Movies.push("Star Wars");

        alert(userInfo.Movies[0]);
        alert(userInfo.Movies[1]);

答案 1 :(得分:-2)

response.data.forEach(function (entry)
        {
            userInfo.Movies.push(entry.name);
        })

或试试这个

userInfo.Movies = response.data.map(function (entry)
        {
           return (entry.name);
        });