Javascript 在php中使用array_unique后如何在js中循环数组
今天我遇到了这个:Javascript 在php中使用array_unique后如何在js中循环数组,javascript,php,Javascript,Php,今天我遇到了这个: $test = array('red', 'red', 'green', 'red', 'green', 'blue', 'blue', 'red', 'blue'); $test = array_unique($test); 将返回: Array ( [0] => red [2] => green [5] => blue ) 这是通过$ajax\u result['results']=$test传递给js脚本的。既然array_
$test = array('red', 'red', 'green', 'red', 'green', 'blue', 'blue', 'red', 'blue');
$test = array_unique($test);
将返回:
Array
(
[0] => red
[2] => green
[5] => blue
)
这是通过$ajax\u result['results']=$test
传递给js脚本的。既然array_unique保留了键,那么如何在js中执行foreach循环呢
for(var i = 0; i < response.results.length; i++)
{
//do something
}
for(var i=0;i
它们的键不再是0,1,2,3*长度,但0,2,5,因为它们是保留的。如果您不必支持IE8并且希望保留这些密钥:
var response = {results: {0: 'red', 2: 'green', 5: 'blue'}};
Object.keys(response.results).forEach(function(key) {
console.log(key, response.results[key]);
});
$test = array('red', 'red', 'green', 'red', 'green', 'blue', 'blue', 'red', 'blue');
$test = array_values(array_unique($test));
产出:
0 red
2 green
5 blue
如果不希望保留密钥,请执行以下操作:
var response = {results: {0: 'red', 2: 'green', 5: 'blue'}};
Object.keys(response.results).forEach(function(key) {
console.log(key, response.results[key]);
});
$test = array('red', 'red', 'green', 'red', 'green', 'blue', 'blue', 'red', 'blue');
$test = array_values(array_unique($test));
只用
for (var i in response.results) {
alert(response.results[i]);
}
假设您有一个对象:
var obj = { 0:"zero", 1:"one" };
for (var i in obj) {
alert(obj[i]);
}
简单点:只需在PHP中对生成的数组使用
array\u values()
,即可重置键。