![](/img/trans.png)
[英]pass php array into javascript, check array value and push into new array
[英]Javascript Push new value in array with indexs
我正在嘗試在現有的javascript對象initialData中添加新消息。 可能也有先前的警告消息,但是下面的代碼將錯誤拋出為“ SCRIPT5007:無法獲取未定義或空引用的屬性” push”。 定義為initialData ['warnings'] =''; 在此之前,下面的代碼也無法解決此問題。
感謝您的慷慨建議,我更改了以下代碼,但仍收到錯誤“無法獲得未定義或空引用的屬性推送”
**修改代碼**
var initialData = false;
initialData.warnings = [];
initialData.warnings.push({
title: ' Major Warning'
,msg: 'This is a major warning'
});
有人可以指出該問題以及如何解決。
***靈魂****
在數組中分配現有值,然后在數組中推送新值。 之后,將數組分配給對象。
var warnings = [] ;
warnings = initialData.warning;
warnings.push({
title: ' Major Warning'
,msg: 'This is a major warning'
});
initialData.warning = warnings;
有兩個主要問題,第一個是要初始化為空字符串而不是空數組:
initialData.warnings = [];
然后,您遇到了@Rohit指出的語法錯誤:
initialData.warnings.push({
title: ' Major Warning'
,msg: 'This is a major warning'] <--- INVALID BRACKET
});
卸下支架,它應該可以正常工作:
initialData.warnings.push({
title: ' Major Warning'
,msg: 'This is a major warning'
});
旁注:最好將點符號用於已知屬性,將括號符號用於動態屬性
您需要初始化數組:
initialData.warnings = [];
也正如@Rob所說的無效括號。
initialData.warnings.push({
title: ' Major Warning'
,msg: 'This is a major warning'] <--- INVALID BRACKET
});
在Javascript中,沒有帶有索引的數組概念。 它被稱為具有鍵和值對的對象。 您不能在對象中使用push方法。
var obj={a:"A"}; // this is javascript object act like index array
obj.b= "B"; // first method
obj['c']= "C"; // second method
console.log(obj);
//iterate values and keys from javascript object
for(var i in obj){
console.log(i); // console key
console.log(obj[i]); // console value of key
}
問題在這一行:
var initialData = false;
此定義使initialData
為boolean
數據類型。 它應該是Object
數據類型,以將warnings
作為其屬性。 因此,定義應將其定義為這樣的對象:
var initialData = {};
完整代碼:
var initialData = {}; initialData.warnings = []; initialData.warnings.push({ title: ' Major Warning' ,msg: 'This is a major warning' }); console.log(initialData);
請在msg之后刪除括號:“這是一個重要警告”
initialData['warnings'].push({
title: ' Major Warning'
,msg: 'This is a major warning'
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.