te')); return $arr; } /* 遍历用户所有主题 * @param $uid 用户ID * @param int $page 页数 * @param int $pagesize 每页记录条数 * @param bool $desc 排序方式 TRUE降序 FALSE升序 * @param string $key 返回的数组用那一列的值作为 key * @param array $col 查询哪些列 */ function thread_tid_find_by_uid($uid, $page = 1, $pagesize = 1000, $desc = TRUE, $key = 'tid', $col = array()) { if (empty($uid)) return array(); $orderby = TRUE == $desc ? -1 : 1; $arr = thread_tid__find($cond = array('uid' => $uid), array('tid' => $orderby), $page, $pagesize, $key, $col); return $arr; } // 遍历栏目下tid 支持数组 $fid = array(1,2,3) function thread_tid_find_by_fid($fid, $page = 1, $pagesize = 1000, $desc = TRUE) { if (empty($fid)) return array(); $orderby = TRUE == $desc ? -1 : 1; $arr = thread_tid__find($cond = array('fid' => $fid), array('tid' => $orderby), $page, $pagesize, 'tid', array('tid', 'verify_date')); return $arr; } function thread_tid_delete($tid) { if (empty($tid)) return FALSE; $r = thread_tid__delete(array('tid' => $tid)); return $r; } function thread_tid_count() { $n = thread_tid__count(); return $n; } // 统计用户主题数 大数量下严谨使用非主键统计 function thread_uid_count($uid) { $n = thread_tid__count(array('uid' => $uid)); return $n; } // 统计栏目主题数 大数量下严谨使用非主键统计 function thread_fid_count($fid) { $n = thread_tid__count(array('fid' => $fid)); return $n; } ?>javascript - Remove multiple elements from array by value in JS - Stack Overflow
最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Remove multiple elements from array by value in JS - Stack Overflow

programmeradmin3浏览0评论

When I want to remove one element, it is easy. This is my function:

function removeValues(array, value) {
    for(var i=0; i<array.length; i++) {
        if(array[i] == value) {
            array.splice(i, 1);
            break;
        }
    }
    return array;
}

But how do I remove multiple elements?

When I want to remove one element, it is easy. This is my function:

function removeValues(array, value) {
    for(var i=0; i<array.length; i++) {
        if(array[i] == value) {
            array.splice(i, 1);
            break;
        }
    }
    return array;
}

But how do I remove multiple elements?

Share Improve this question edited Nov 8, 2015 at 17:01 Marcos Dimitrio 6,8526 gold badges41 silver badges64 bronze badges asked Nov 8, 2015 at 16:58 ValeriuValeriu 1711 gold badge1 silver badge11 bronze badges 4
  • 2 What multiple elements? Please explain with an example? – thefourtheye Commented Nov 8, 2015 at 16:58
  • Possible duplicate of How to remove a particular elements from an array in javascript? – melpomene Commented Nov 8, 2015 at 17:00
  • 3 Call removeValues for each value? – Felix Kling Commented Nov 8, 2015 at 17:01
  • 2 Possible duplicate of Javascript arrays: remove all elements contained in another array – Marcos Dimitrio Commented Nov 8, 2015 at 17:04
Add a ment  | 

3 Answers 3

Reset to default 16

Here a simple version using ES7:

// removing values
let items = [1, 2, 3, 4];
let valuesToRemove = [1, 3, 4]
items = items.filter((i) => !valuesToRemove.includes(i))

For a simple version for ES6

// removing values
let items =[1, 2, 3, 4];
let valuesToRemove = [1, 3, 4]
items = items.filter((i) => (valuesToRemove.indexOf(i) === -1))
const items = [0, 1, 2, 3, 4];

[1, 4, 3].reverse().forEach((index) => {
    items.splice(index, 1)
})

// [0, 2, 4]

I believe you will find the kind of functionality you are looking for in Javascript's built in array functions... particularily Array.map(); and Array.filter();

//Array Filter
function isBigEnough(value) {
  return value >= 10;
}
var filtered = [12, 5, 8, 130, 44].filter(isBigEnough);
// filtered is [12, 130, 44]


//Array Map (Can also be used to filter)
var numbers = [1, 4, 9];
var doubles = numbers.map(function(num) {
  return num * 2;
});
// doubles is now [2, 8, 18]. numbers is still [1, 4, 9]

/////UPDATE REFLECTING REMOVAL OF VALUES USING ARRAY MAP

var a = [1,2,3,4,5,6];
a.map(function(v,i){
  if(v%2==0){
	a.pop(i);
  }
});
console.log(a);

// as shown above all array functions can be used within the call back to filter the original array. Alternativelty another array could be populated within the function and then aassigned to the variable a effectivley reducing the array.

发布评论

评论列表(0)

  1. 暂无评论