① php如何過濾數組重復值啊
|先用explode()函數分解成數組,然後用array_unique() 函數給數組去重復,然後用implode()合並成字版符串
<?php
$str='1|權2|1|5|4|2';
$a=explode('|',$str);
$b=array_unique($a);
$c=implode('|',$b);
var_mp($c);
?>
② js中filter怎麼過濾數組中的相同元素
由於現在還抄沒有看到js的對象襲,所以,就先用本方法寫去除數組中重復元素的本方法了,後面再修改咯。代碼如下:
function f1(arr) {
var len = arr.length;
for(var i=0; i<len-1; i++){
for(var j=i+1; j<len; j++){
//如果元素相等了,就刪除後面的那個元素
if(arr[i] == arr[j]){
arr.splice(j,1); //刪除元素
}
}
}
alert(arr);
}
//定義一個有重復數據的待操作的數組
var arr = ['qiang','ming','tao','li','liang','you','you','qiang','tao','li'];
f3(arr);
③ php數組的重復值如何過濾掉
array_unique() 函數移除數組中的重復的值,並返回結果數組。
當幾個數組元素回的值相等時,只保答留第一個元素,其他的元素被刪除。
返回的數組中鍵名不變。
array_unique() 先將值作為字元串排序,然後對每個值只保留第一個遇到的鍵名,接著忽略所有後面的鍵名。這並不意味著在未排序的 array 中同一個值的第一個出現的鍵名會被保留。
④ C語言: 如何實現從數組A裡面,過濾掉任意數量的元素,然後將剩餘的元素,復制到數組B 詳細點
這個比較容易。抄
首先你數組的大小你自己知道,就假設容量A、B為100吧;
其次你需要一個指向A的指針;
再次假設你需要過濾A中50個元素,你得知道從什麼位置開始過濾吧;
的判斷過濾的位置加上過濾的數量超過總量沒有吧。
指針不斷++;復制值到B中,知道遇到過濾的開始的位置。指針繼續++,將要過濾的數量的值一一跳過,不復制進入B.
⑤ C#數組過濾的問題
去掉帶//的行:
strs=strs.Where(x=>!x.Contains("//")).ToArray();
去掉回答0x:
strs=strs.Select(x=>x.Replace("0x","")).ToArray();
⑥ jquery 對象數組的過濾
var a = $.grep(temp,function(n,i){
return parseInt(n.value)>1 && parseInt(n.value)<4
});
⑦ java解決一個字元串數組過濾的問題,要求效率盡量快.
中文分詞應該屬於另外一個大范疇,我就沒考慮了。
僅僅是盡快濾出之前沒有的詞,
import java.util.Comparator;
import java.util.TreeSet;
public class Test {
static public int removeOccurances(StringBuilder buf,String word){
int c=0,p,len=word.length();
for(;(p=buf.indexOf(word))!=-1; c++)
buf.delete(p, p+len);
return c;
}
static public void main(String argv[]){
String a[]={"北京","中國朝陽","北京朝陽","天津包子","中國北京",
"北京烤鴨","中國中國","北京中國飯店","北京北京北京",
"北京朝陽飯店","北京朝陽烤鴨飯店","中國北京朝陽飯店"
};
TreeSet<String> set=new TreeSet<String>(new Comparator<String>(){
@Override
public int compare(String o1, String o2) {
int r=o1.length()-o2.length();
return r==0? o1.compareTo(o2):r;
}
});
StringBuilder buf=new StringBuilder();
for(String w:a){
buf.setLength(0); buf.append(w);
for(String dw:set) removeOccurances(buf, dw);
if(buf.length()>0){
w=buf.toString();
for(String dw:set)
if(buf.length()<dw.length()){
buf.setLength(0); buf.append(dw);
if(removeOccurances(buf, w)>0){
set.remove(dw); set.add(buf.toString());
}
}
set.add(w);
}
}
System.out.print(set);
}
}
===========
[中國, 北京, 朝陽, 烤鴨, 飯店, 天津包子]
效率應該是O(2W*D), W為數組長度,D為有效詞數量
把你的演算法拿來看看。應該多說自己
⑧ Javascript如何過濾數組
你這個數據格式就有問題吧。。
應該是這樣的:
var arr = {
"list":
回[{name:"tony","age":22},
{name:"JOE","age":22},
{name:"jod","age":23},
{name:"Kim","age":24}]
};
過濾答:
var array = new Array();
for(var i = 0; i < arr.list.length; i++){
if (arr.list[i].age == 22 ) array.push(arr.list[i]);
}
輸出:
var str="";
for (var j = 0; j < array.length; j++){
str += "name:" + array[j].name + " age:"+array[j].age+"\n";
}
alert(str);
⑨ js中怎樣實現數組過濾函數filter
filter 是根據返回的值是否為真來判斷是否保留元素,所以可以這樣實現
Array.prototype.filter=Array.prototype.filter||function(func){
vararr=this;
varr=[];
for(vari=0;i<arr.length;i++){
if(func(arr[i])){
r.push(arr[i]);
}
}
returnr;
}
因為目前大部分瀏覽器有 filter 實現,所以測試時只能改個名字叫 filterx,下面是測試代碼
vardata=[1,2,3,4,5,6,7];
Array.prototype.filterx=Array.prototype.filterx||function(func){
vararr=this;
varr=[];
for(vari=0;i<arr.length;i++){
if(func(arr[i])){
r.push(arr[i]);
}
}
returnr;
}
console.log(data.filter(function(t){
returnt%3>0;
}));
console.log(data.filterx(function(t){
returnt%3>0;
}));
⑩ C# split 過濾空數組元素
//方法1
arr=str.Split(newchar[]{';'},StringSplitOptions.RemoveEmptyEntries);
//方法2,如果只是要清除回str前後;號答
arr=str.Trim(';').Split(';');