这是一个简短的 JS 函数,它尝试从数组中检索对象并访问其唯一字段:
function foo()
{
var fruitLiteral = {name : "Orange"};
var myArray = [];
myArray.push(fruitLiteral);
console.log(" myArray after push " + myArray);
var rc = myArray.splice(0,1);
console.log(" myArray after splice " + myArray);
console.log(rc.name);
}
输出:
myArray after push [object Object]
myArray after splice
undefined //wanted to see rc.name, or "Orange" here.
数组似乎在拼接后已按预期清空,但当从拼接检索到的项目是文字对象时,我总是得到“未定义”。我的错误在哪里?
最佳答案
问题在于,您的 fruitLiteral
在拼接后仍然存储为 rc
数组的第一个元素,因此您需要像这样对待它。
function foo()
{
var fruitLiteral = {name : "Orange"};
var myArray = [];
myArray.push(fruitLiteral);
console.log(" myArray after push " + myArray);
var rc = myArray.splice(0,1);
console.log(" myArray after splice " + myArray);
console.log(rc[0].name);
}
关于javascript - 如何从数组中检索和访问 javascript 对象文本中的字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31497079/