Skip to content

JavaScript 代码片段

找出两个数组中相同的元素

实现思路

  1. 封装getSameName函数,传递两个参数selectedId,allSuppliers
  2. selectedId和allSuppliers均为数组

代码

jsx
getSameName(selectedId, allSuppliers) {
  let arr2Map = {};  
  let result = [];  
  selectedId.forEach((item) => (arr2Map[item] = item));  allSuppliers.forEach((item) => {
    arr2Map[item.id] && result.push(item.name);  });  console.log(result)
  return result;
},

在一个字符串的指定位置插入字符

js
/**
 * @param {*} source 原字符串 
 * @param {*} start 要截取的位置 
 * @param {*} newStr 要插入的字符
 */
function insertStr(source, start, newStr) {
    return source.slice(0, start) + newStr + source.slice(start)
}
// 使用
insertStr('20220808', 4, '-') // 2020-0808

判断数组中某个属性值是否为空

js
function isEmpty(array) {
    if (array.length > 0) {
        return array.some(function(value, index) {
            return value === '';
        });
    } else {
        return true;
    }
}

判断数组中某一属性的值是否相同

some():用于检测数组中的元素是否满足指定条件

some方法会依次执行数组的每个元素; 如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测 如果没有满足条件的元素,则返回false

every():用于检测数组所有元素是否都符合指定条件

every和some正好相反: 如果数组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测。 如果所有元素都满足条件,则返回 true。

js
function isAllEqual(array) {
    if (array.length > 0) {
        return !array.some(function(value, index) {
            return value !== array[0];
        });
    } else {
        return true;
    }
}

javascript中filter+map链式操作 处理数据

js
//这里是代码片段
var arr = [1, 2, 3, 4];
let Larry = [];
let my= arr.filter((item) => {
   return item > 2;
}).map((value) => {
    Larry.push(value * 2) 
})
console.log(arr);  		//Array(4) [1, 2, 3, 4]
console.log(my);   		//Array(2) [undefined, undefined]
console.log(Larry);		//Array(2) [6, 8]

JS数组合并(5种)

  1. 简单而实用的for 会变更原数组,当然也可以写成生成新数组的形式。
  2. arr.concat(arr2) 会生成新的数组
  3. push结合apply arr.push.apply(arr, arr2) 会变更原数组。
  4. ES6 的语法,简单而实用。 […arr, …arr2] 会生成新的数组。
  5. push 结合 ...[] 来实现。 push(…arr) 会变更原数组。