获取对象值

Getting object values

本文关键字:取对象 获取      更新时间:2023-09-26

那么我就有了这样一个对象:

Object
    maddiekeller: Object
    rickbross: Object
        firstname:"Rick"
        lastname:"Bross"
        firstname:"1234 Fictional Drive"
        ...
    __proto__: Object

,我可以通过输入

提取任何名字
alert(potentialmodels.rickbross.firstname);
//Alerts "Rick"

现在我如何将所有模型的名字存储在一个数组中?当它们都有不同的名字时,我能遍历它们吗?

potentialmodels.*differentfirstname*.firstname

下面是我生成对象的方法:

$result = mysql_query("SELECT * FROM `potentials`") or die(mysql_error());
$rows = array();
//retrieve and print every record
while($r = mysql_fetch_assoc($result)){
    $rows[strtolower($r['firstname'].$r['lastname'])] = $r;
}
$myJSON =  json_encode($rows);

and my JavaScript:

var potentialModels = <?php print($myJSON); ?>;
console.log(potentialModels);
console.log(potentialModels.rickbross.firstname);

可以使用Object。你可以使用array .prototype.map.

来获取你的模型数组,你也可以使用array .prototype.map.

的例子:

var potentialmodels = {
    "maddiekeller": {
        "firstname":"Maddie",
        "lastname":"Keller"
        },
    "rickbross": {
        "firstname":"Rick",
        "lastname":"Bross"
    }
}
var nameArray = Object.keys(potentialmodels).map(function(model) {
                            return potentialmodels[model].firstname
                        });
// nameArray = ["Maddie", "Rick"]

jsFiddle示例:http://jsfiddle.net/cgqxe/

将Object重新组织为数字数组:

$result = mysql_query("SELECT * FROM `potentials`") or die(mysql_error());
$rows = array();
//retrieve and print every record
while($r = mysql_fetch_assoc($result)){
    $rows[] = $r; // numeric array
}
$myJSON =  json_encode($rows);

以数组的形式获取名字:

var result = JSON.parse(yourJSONstring);
var firstnames = [];
for (var i = 0; i < result.length; i++) {
    firstnames.push(result[i].firstname);
}