在我看来,我想在数组上推送一个键值。
例如,在 PHP 中是这样完成的:
$err = array();
function check($k,$v) {
$err[$k] = $v;
}
这在 JavaScript/jQuery 中是如何完成的?
在我看来,我想在数组上推送一个键值。
例如,在 PHP 中是这样完成的:
$err = array();
function check($k,$v) {
$err[$k] = $v;
}
这在 JavaScript/jQuery 中是如何完成的?
Object中的 Javascript 键/值对支持,而不是Array
插入元素:
var arr= [1,2,3],
result = {};
for(var key in arr) {
result[key] = arr[key]; // in this case key will be 0,1,2 i.e index of array element
}
检查密钥是否存在:
function checking(k, v) {
if(result.k != null || result.k != undefined) {
// do something
}
}
根据您的功能:
var err = {}; // not array, should be object
function check(k,v) {
err[k] = v; // or err.k = v;
}
更多关于插入:
var x = [];
x.some = 'some'; // OK; arrays are objects
x['some'] = 'some'; // exactly the same
获取价值:
x.home; // give 'some'
x['home']; // give 'some'
计数长度:
如果要获取数组的长度,则必须使用.length
.
例如:
x.length; // will return 1
如果你想计算一个对象的长度:
var obj = {a: 'XYZ', b: 'PQR'};
Object.keys(obj).length; // will return 2
要删除项目:
如果要从对象中删除项目:
delete obj[key];
从数组中删除一个项目:
delete arr[index]; // index is position of the element within array
还可以删除数组元素
arr.splice(0,2); // splice(index, howmany, [item1, item2, ...., itemx])
// in this example from start 2 items will delete
你使用一个对象。并以大致相同的方式进行。
var $err = {};
function check($k, $v) {
$err[$k] = $v;
}
当然,这不是一个数组。
请注意,您实际上可以在 Javascript 数组中执行此操作,并且解释器会允许您这样做。
var $err = []; // an array
function check($k, $v) {
$err[$k] = $v;
}
但是您并没有真正推动数组,而是扩展数组对象。你可以用这个检查一下:
var foo = [];
foo['hello'] = 'world';
console.log(foo); // []
console.log(foo['hello']); // 'world'
console.log(foo.hello); // 'world'
console.log(foo.length); // 0
...所以最好注意这个问题。:D