javascript推送键值

pla*_*t x 2 javascript php arrays jquery key-value

在我看来,我想在数组上推一个键值.

比如在PHP中说这是这样做的:

$err = array();
function check($k,$v) {
  $err[$k] = $v; 
}
Run Code Online (Sandbox Code Playgroud)

这是如何在JavaScript/jQuery中完成的?

the*_*dox 6

JavaScript的键/值对支持对象,而不是在阵列

插入元素:

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
}
Run Code Online (Sandbox Code Playgroud)

检查密钥是否存在:

function checking(k, v) {
  if(result.k != null || result.k !=  undefined) {
    // do something
  }
}
Run Code Online (Sandbox Code Playgroud)

根据你的功能:

var err = {}; // not array, should be object
function check(k,v) {
  err[k] = v; // or err.k = v;
}
Run Code Online (Sandbox Code Playgroud)

更多关于插入:

var x = [];

x.some = 'some'; // OK; arrays are objects
x['some'] = 'some'; // exactly the same
Run Code Online (Sandbox Code Playgroud)

获得价值:

x.home; // give 'some'
x['home']; // give 'some'
Run Code Online (Sandbox Code Playgroud)

计数长度:

如果你想得到你必须使用的数组的长度.length.

例如:

x.length; // will return 1
Run Code Online (Sandbox Code Playgroud)

如果你想计算一个对象的长度:

var obj = {a: 'XYZ', b: 'PQR'};

Object.keys(obj).length; // will return 2
Run Code Online (Sandbox Code Playgroud)

要删除项目:

如果要从对象中删除项目:

delete obj[key];
Run Code Online (Sandbox Code Playgroud)

从数组中删除项目:

delete arr[index]; // index is position of the element within array
Run Code Online (Sandbox Code Playgroud)

还要删除你可以做的数组元素

arr.splice(0,2); // splice(index, howmany, [item1, item2, ...., itemx])
                 // in this example from start 2 items will delete
Run Code Online (Sandbox Code Playgroud)