js数组处理方法总结slice、join、filter、map、indexOf、reduce、reduceRight等

2023-11-01

归纳总结数组的处理方法如下
1.splice()
功能:
1.删除:从数组中删除元素,两个参数,第一个参数(要删除元素的起始位置),第二个参数(要删除的项数)
2.添加:插入元素到数组中,三个参数,第一个参数(起始位置),第二个参数(0),第三个参数(插入的项数)
3.替换:删除、插入元素同时完成
输出:返回一个由删除元素组成的数组。
注意:新建了一个数组,并修改了原数组

var arr = [];
         arr.push(1);
         arr.push(2);
         arr.push(3);
         console.log(arr); //arr = [1,2,3]
        //  删除arr = [1,2,3]
        arr.splice(1,2);//删除 => 删除起始位置为1,删除项数为2
        console.log(arr); //arr = [1]

        //插入arr = [1]
        arr.splice(1,0,4,5,6); //插入 => 插入元素起始位置为1(参数一),删除0个元素(参数二),在起始位置后插入元素4,5,6
        console.log(arr); // [1, 4, 5, 6]
        
         //替换[1, 4, 5, 6]
         arr.splice(0,1,4); // 替换 -> 从下标为0开始,项数为1的数组元素替换成4
         console.log(arr);  // [4,4,5,6]
         arr.splice(0,2,8); // 替换 -> 从下标为0开始,项数为2的数组元素替换成8(即4,4整体替换成4)
         console.log(arr);  // [8,5,6]

2.slice
功能:截取数组生成新数组,原数组不受影响
用法:arrayObj.slice(start,end) (不包括该元素)start为开始位置下标,必选,end为结束位置下标,不必选
下标从0开始计算

  • arrayObj - 原始数组;
  • start - 必填;设定新数组的起始位置;如果是负数,则表示从数组尾部开始算起(-1
    指最后一个元素,-2 指倒数第二个元素,以此类推)。
  • end - 可选;设定新数组的结束位置;如果不填写该参数,默认到数组结尾;如果是负数,则表示从数组尾部开始算起(-1 指最后一个元素,-2
    指倒数第二个元素,以此类推)。
var list = [1,2,3,7,5,6,7,8,9]
        var list1 = list.slice(2,-1);//截取 => 参数一(开始的下标位置为2,值为3)参数二(负数表示从尾部向前倒数第一个,值为8)
        console.log('list---'+list);
        console.log('list1---'+list1);//[3,4,5,6,7,8]
        var list2 = list.slice(1,4); // => 按照下标值计算,包含参数一,不包含参数二
        console.log(list2) //[2, 3, 7]
        
        var aa = [1,2,3,4,5,6];
        console.log(aa.slice(2)); //[3,4,5,6]
        console.log(aa.slice(2,8)); //[3,4,5,6] 超过最大长度,只显示到最后结果
        console.log(aa.slice(2,5)); //[3,4,5]
        console.log(aa.slice(2,-1)); //[3,4,5] 相对于倒数第一个之前
        console.log(aa.slice(2,-2)); //[3,4] 相对于倒数第二个之前
        console.log(aa.slice(3)); //[4,5,6] 一个参数从第三个到最后
        console.log(aa.slice(-2));//[5,6] 一个参数负值从倒数第二个到最后

3. push()
功能:在数组末尾添加一个或多个元素,并返回新数组长度

 var arr = [];
         arr.push(1);
         arr.push(2);
         arr.push(3);
         console.log(arr); //arr = [1,2,3]

4.pop()
功能:从数组末尾删除1个元素(删且只删除1个), 并返回 被删除的元素

 //pop() 从数组末尾删除1个元素(删且只删除1个), 并返回 被删除的元素
        var arr = [1,2,3,5,6,'a','b','c']
        console.log( arr.pop()) //c
        console.log(arr) //[1, 2, 3, 5, 6, 'a', 'b']

5.unshift()
功能:将参数添加到原数组开头,并返回数组的长度。该方法会改变原来的数组,而不会创建新的数组。

//unshift()
          var arr = [1,2,3,5,6,'a','b','c']
          console.log( arr.unshift('a')) //9 返回数组的长度
          console.log(arr) //['a',1, 2, 3, 5, 6, 'a', 'b']

6. shift()
功能:删除原数组第一项,并返回删除元素的值,如果数组为空则返回undefined。该方法会改变原来的数组,而不会创建新的数组。

 //shift()
        var arr = [1,2,3,5,6,'a','b','c']
        console.log( arr.shift()) //c
        console.log(arr) //[1, 2, 3, 5, 6, 'a', 'b']

7.join()
功能:将数组中所有元素都转化为字符串并连接在一起。

  //   join()
        var arr = [1,2,3,5,6,'a','b','c']
        console.log(arr) //
        console.log( arr.join('')) //12356abc

8. reverse()
功能:将数组中的元素颠倒顺序。

  // reverse()
        var arr = [1,2,3,5,6,'a','b','c']
        console.log(arr) //[1,2,3,5,6,'a','b','c']
        console.log( arr.reverse()) //['c', 'b', 'a', 6, 5, 3, 2, 1]

9. concat()
功能:数组拼接的功能 ,用于连接两个或多个数组。返回新数组,原数组不受影响。

// concat() 拼接一个或多个数组,返回新数组,原数组不受影响
          var arr1 = ['java','web','php'];
          var arr2 = ['a','b','c'];
          var arr3 = ['1','2','3']
          var newArr = arr1.concat(arr2,arr3);
          console.log(newArr);//['java', 'web', 'php', 'a', 'b', 'c', '1', '2', '3']

10.sort()
功能:用于对数组的元素进行排序。参数可以为函数。该方法会改变原来的数组,而不会创建新的数组。

 // filter()
        var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]
        var newArray = arr.filter((item) => {
            return item > 5
        })
        console.log(arr);// [1,2,3,4,5,6,7,8,9] 不会修改原数组
        console.log(newArray);//[6, 7, 8, 9] 返回新数组

        //sort
        function sortNumber(a, b) {//自己设计的排序函数
            return a - b;
        }

        // 1.不传参数,将不会按照数值大小排序,按照字符编码的顺序进行排序;
        var arr = ['General', 'Tom', 'Bob', 'John', 'Army'];
        var resArr = arr.sort();
        console.log(resArr);//输出   ["Army", "Bob", "General", "John", "Tom"]

        var arr2 = [30, 10, 111, 35, 1899, 50, 45];
        var resArr2 = arr2.sort();
        console.log(resArr2);//输出   [10, 111, 1899, 30, 35, 45, 50]

        //  2.传入参数,实现升序,降序;
        //---------  => 升序
        var arr3 = [30, 10, 111, 35, 1899, 50, 45];
        arr3.sort(function (a, b) {
            return a - b;
        })
        console.log(arr3);//输出  [10, 30, 35, 45, 50, 111, 1899]
        //----------- =>降序
        var arr4 = [30, 10, 111, 35, 1899, 50, 45];
        arr4.sort(function (a, b) {
            return b - a;
        })
        console.log(arr4);//输出 [1899, 111, 50, 45, 35, 30, 10]

        // 3.根据数组中的对象的某个属性值排序;
        var arr5 = [{ id: 10 }, { id: 5 }, { id: 6 }, { id: 9 }, { id: 2 }, { id: 3 }];
        arr5.sort(function (a, b) {
            return a.id - b.id
        })
        console.log(arr5);
                    //输出新的排序
                    //		{id: 2}
                    //		{id: 3}
                    //		{id: 5}
                    //		{id: 6}
                    //		{id: 9}
                    //		{id: 10}
      
        // 4.根据数组中的对象的多个属性值排序,多条件排序;
        var arr6 = [{id:10,age:2},{id:5,age:4},{id:6,age:10},{id:9,age:6},{id:2,age:8},{id:10,age:9}];
		arr6.sort(function(a,b){
			if(a.id === b.id){//如果id相同,按照age的降序
				return b.age - a.age
			}else{
				return a.id - b.id
			}
		})
		console.log(arr6);
                    //输出新的排序
                    //		{id: 2, age: 8}
                    //		{id: 5, age: 4}
                    //		{id: 6, age: 10}
                    //		{id: 9, age: 6}
                    //		{id: 10, age: 9}
                    //		{id: 10, age: 2}

11.reduce()
功能:
两个参数:函数和递归的初始值。从数组的第一项开始,逐个遍历到最后

* reduce()
     * arr.reduce(callback,[initialValue])
     * educe 为数组中的每一个元素依次执行回调函数,不包括数组中被删除或从未被赋值的元素,接受四个参数:初始值(或者上一次回调函数的返回值),当前元素值,当前索引,调用 reduce 的数组。
     * callback (执行数组中每个值的函数,包含四个参数)
        1、previousValue (上一次调用回调返回的值,或者是提供的初始值(initialValue))
        2、currentValue (数组中当前被处理的元素)
        3、index (当前元素在数组中的索引)
        4、array (调用 reduce 的数组)
     * initialValue (作为第一次调用 callback 的第一个参数。)
     * */ 

实例解析 initialValue 参数


    // 1.无initialValue:例子index是从1开始的,第一次的prev的值是数组的第一个值。数组长度是4,但是reduce函数循环3次。
    var arr = [1, 2, 3, 4];
    var sum = arr.reduce(function (prev, cur, index, arr) {
        console.log(prev, cur, index);
        return prev + cur;
    })
    console.log(arr, sum);
    /*
     打印结果:
     1 2 1
     3 3 2
     6 4 3
     [1, 2, 3, 4] 10
    */

    // 2.有initialValue:这个例子index是从0开始的,第一次的prev的值是我们设置的初始值0,数组长度是4,reduce函数循环4次。
    var arr = [1, 2, 3, 4];
    var sum = arr.reduce(function (prev, cur, index, arr) {
        console.log(prev, cur, index);
        return prev + cur;
    }, 0) //注意这里设置了初始值
    console.log(arr, sum);
    /*
    打印结果:
    0 1 0
    1 2 1
    3 3 2
    6 4 3
    [1, 2, 3, 4] 10
    */ 
//  结论:如果没有提供initialValue,reduce 会从索引1的地方开始执行 callback 方法,跳过第一个索引。如果提供initialValue,从索引0开始。

用法:
在这里插入图片描述

   // reduce()最简单的用法就是累加和累乘
        var arr3 = [1, 3, 4, 6, 7];
        var sum3 = arr3.reduce((pre, cur) => pre + cur)
        var multiply = arr3.reduce((pre, cur) => pre * cur)
        console.log(sum3) // 21
        console.log(multiply) // 504
   // reduce()的高级用法:
        //数组去重
        var arr4 = [1, 3, 2, 5, 3, 1, 2, 7, 8];
        var newArr = arr4.reduce((pre, cur) => {
            if (!pre.includes(cur)) {
                return pre.concat(cur)
            } else {
                return pre
            }
        }, []);
        console.log(newArr, '数组去重') // [1, 3, 2, 5, 7, 8] 

        // 将二维数组转换成一维数组
        var arr5 = [[1, 2], [3, 4], [5, 7]];
        var newArr2 = arr5.reduce((pre, cur) => {
            return pre.concat(cur)
        }, []);
        console.log(newArr2, '二维转成一维') // [1, 2, 3, 4, 5, 7

        // 将多维数组转换成一维数组
        var arr6 = [1, 3, [4, 5, 6, [7, 8, 4]], [7, 0, [2, 4], 9]];
        var newArr3 = this.flatArr(arr6);
        console.log(newArr3, '多维转一维'); // [1, 3, 4, 5, 6, 7, 8, 4, 7, 0, 2, 4, 9]
        function flatArr(arr) {
            return arr.reduce((pre, cur) => {
                return pre.concat(Array.isArray(cur) ? this.flatArr(cur) : cur)
            }, [])
        }

        // 操作对象数组中的对象属性
        const data = [
            {
                id: 1,
                name: '安徽'
            },
            {
                id: 2,
                name: '南京'
            },
            {
                id: 3,
                name: '上海'
            },
            {
                id: 4,
                name: '杭州'
            },
            {
                id: 5,
                name: '天津'
            },
            {
                id: 6,
                name: '北京'
            },
            {
                id: 7,
                name: '山东'
            },
            {
                id: 8,
                name: '河南'
            },
            {
                id: 9,
                name: '重庆'
            },
            {
                id: 10,
                name: '成都'
            },
            {
                id: 11,
                name: '合肥'
            },
        ]
        const city_list = data.reduce((prev, item, idx) => {
            let key =
                idx > 8
                    ? `${idx + 1}00`
                    : `0${idx + 1}00`;
            prev[key] = item.name;
            return prev;
        }, {});
        console.log(city_list, '转换后的城市列表')

        // 操作对象数组中的对象属性
        let person = [
            {
                name: '小红',
                age: 16,
            },
            {
                name: '小黄',
                age: 20,
            },
            {
                name: '小黑',
                age: 21,
            },
        ]
        let sumAge = person.reduce((pre, cur) => {
            return pre = pre + cur.age
        }, 0);
        console.log(sumAge) // 57
        
        // 计算数组中每个元素出现的次数
        var arr7 = ['红', '黄', '黑', '黄', '蓝', '红']
        var num = arr7.reduce((pre, cur) => {
            if (cur in pre) {
                pre[cur]++
            } else {
                pre[cur] = 1
            }
            return pre
        }, {})
        console.log(num, 'num对象') //{红: 2, 黄: 2, 黑: 1, 蓝: 1} 
        

在这里插入图片描述
12. every()和some()
every() 判断数组中每一项都是否满足条件,只有所有项都满足条件,才会返回true。
some() 判断数组中是否存在满足条件的项,只要有一项满足条件,就会返回true。
注释:
some() 对没有值的数组元素不执行函数。
some() 不改变原始数组。
some()用法
一般是需要对数组里面每一项内容进行循环匹配时会用到,有一项满足条件时就会返回true,否则为false,示例代码如下:(当找到大于15的时候,就会返回true)

	var ages = [3, 10, 18, 2050];

	function checkAdult(age) {
	  return age > 15;
	}
	
	// ages中有一个大于15的数就会进入判断
	if (ages.some(checkAdult)) {
		// to do
	}

every()
every() 方法检查数组中的所有元素是否都通过了测试(被作为函数提供)。
every() 方法对数组中存在的每个元素执行一次函数:
如果找到函数返回 false 值的数组元素,every() 返回 false(并且不检查剩余值)
如果没有出现 false,every() 返回 true
注释:
every() 不对没有值的数组元素执行函数。
every() 不改变原始数组。
一般是需要对数组里面每一项内容进行循环匹配时会用到,有一项不满足条件时就会返回false,否则为true,示例代码如下:(当找到大于15的时候,就会返回true)

	var ages = [3, 10, 18, 20];

	function checkAdult(age) {
	  return age < 21;
	}
	
	// ages中全部小于21时才会进入判断
	if (ages.every(checkAdult)) {
		// to do
	}

var arr = [1, 2, 3, 4, 5, 6];
arr.every(x=>x>0);//return true;
arr.every(x=>x>5);//return false;
arr.some(x=>x>5);//return true;

13.copyWithin()
copyWithin() 方法用于从数组的指定位置拷贝元素到数组的另一个指定位置中。该方法会改变数组的内容,但是不会改变数组的长度。
array.copyWithin(target, start, end)
target 必需。复制到指定目标索引位置。
start 必需。元素复制的起始位置。
end 可选。停止复制的索引位置 (默认为 array.length)

 // copyWithin()
        var arr = ['a','b','c','d']
        arr.copyWithin(1,2,3) // ['a', 'c', 'c', 'd']
        console.log(arr)

具体参考:https://blog.csdn.net/Menkongkong/article/details/117667895
14.indexOf()
indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。
用法:
stringObject.indexOf( value, index );
参数:
value:必需,规定需检索的字符串值。可选的整数参数。
index:规定在字符串中开始检索的位置。它的合法取值是 0 到 stringObject.length - 1。如省略该参数,则将从字符串的首字符开始检索。
注释:
indexOf() 方法对大小写敏感!
如果要检索的字符串值没有出现,则该方法返回 -1。

let str = 'orange';
str.indexOf('o'); //0
str.indexOf('n'); //3
str.indexOf('c'); //-1
//
        let listArr = 'savc1289';
        console.log(listArr.indexOf('a')) //1
        var  url = 'http://test-app.helease.com.cn:8089?web=1'
        var i = url.indexOf('?');
        console.log('i----'+i);//35
        console.log(url.substr(i+1));//web=1

15.lastIndexOf()
indexOf和lastIndexOf语法是一样的,但查找的顺序相反,indexOf是从前往后查,而lastIndexOf是从后往前查。
string.lastIndexOf(searchvalue,start)

        var str = "abcdcefg";
        var index = str.lastIndexOf("c");
        console.log(str.indexOf("c"));//2
        console.log(index);//4

16.reduceRight()
数组有两个归并方法:reduce() 与 reduceRight()
这两个方法都会迭代数组的所有项,并在此基础上构建一个最终的返回值
reduce() 方法从数组第一项开始遍历到最后一项
reduceRight() 方法从最后一项遍历到第一项
使用reduce()还是reduceRight(),主要取决于要从哪头开始遍历数组。除此之外,它们完全相同。
接收两个参数
1.对每一项都会运行的归并函数
2.可选的归并起点的初始值
归并函数接收四个参数
1.上一个归并值
2.当前项
3.当前项的索引
4.数组本身

reduceRight与reduce参数一致 只不过他从数组的最右边开始执行

let values = [1, 2, 3, 4, 5];
let sum = values.reduce((prev, cur, index, array) => prev + cur);
// 1+2=3  3+3=6   6+4=10  10+5=15
alert(sum); // 15

 var values = [1, 2, 3, 4, 5];
 var sum = values.reduceRight((prev, cur, index, array) => prev + cur);
 // 1+2=3  3+3=6   6+4=10  10+5=15
 alert(sum); // 15

17.find()
1.find() 方法返回通过测试(函数内判断)的数组的第一个元素的值。
2.如果没有符合条件的元素返回 undefined
3.find() 对于空数组,函数是不会执行的。
4.find() 并没有改变数组的原始值。
5.array.find(function(currentValue, index, arr),thisValue),其中currentValue为当前项,6.index为当前索引,arr为当前数组

let test = [1, 2, 3, 4, 5];
let a = test.find(item => item > 3);
console.log(a); //4
let b = test.find(item => item == 0);
 console.log(b); //undefined

18.findIndex()
1.findIndex()方法 返回传入一个测试条件(函数)符合条件的数组第一个元素位置
2.findIndex()方法为数组中的每个元素都调用一次函数执行:
当数组中的元素在测试条件时返回true时,findIndex()返回符合条件的元素的索引位置,
之后的值不会再调用执行函数
如果没有符合条件的元素返回-1
注意:findIndex()对于空数组,函数时不会执行的
findIndex()并没有改变数组的原始值

array.findIndex(function(currentValue,index,arr),thisValue)

参数:
currentValue 必需,当前元素
index 可选 当前元素的索引
arr 可选 当前元素所属的数组对象
thisValue 可选 传递给函数的值一般用this值。如果这个参数为空,undefined会传递给this值

find()函数用来查找目标元素,找到就返回该元素,找不到返回undefined。
findIndex()函数也是查找目标元素,找到就返回元素的位置,找不到就返回-1。

19.forEach()
1.forEach()方法用于调用数组的每个元素,并将元素传递给回调函数。
2.forEach()有三个参数,第一个是function()函数,第二个是对象;
3.函数里面有三个参数,第一个是数组的每一项值(必选),第二个是数组下标(可选),第三个是原数组(可选)
4.forEach()第二个参数对象,使第一个参数函数的this指向对象
参数:
参数一是数组的每一项值(必选)

  var obj = {
            '1' : 'abc',
            '3' : 100,
            '5' : 'hello'
        }
        var arr = [1, 3, 5];
        arr.forEach(function(item){
            // console.log(item);  
        },obj);//返回值: 1 3 5

参数二是数组下标(可选)

 var obj = {
            '1' : 'abc',
            '3' : 100,
            '5' : 'hello'
        }
        var arr = [1, 3, 5];
        arr.forEach(function(item, index, self){
            console.log(index);
        },obj);//返回值:0 1 2

参数三是原数组(可选)

 var obj = {
            '1' : 'abc',
            '3' : 100,
            '5' : 'hello'
        }
        var arr = [1, 3, 5];
        arr.forEach(function(item, index, self){
            console.log(self);
        },obj);//返回值:[1,3,5] [1,3,5] [1,3,5]
        

forEach()第二个参数对象

   var obj = {
            '1' : 'abc',
            '3' : 100,
            '5' : 'hello'
        }
        var arr = [1, 3, 5];
        arr.forEach(function(item, index, self){
            console.log(this);
        },obj);//让回调函数中的this指向 arr
        //返回值{'1' : 'abc','3' : 100, '5' : 'hello'} {'1' : 'abc','3' : 100, '5' : 'hello'} {'1' : 'abc','3' : 100, '5' : 'hello'}

20.map()
功能:
调用的数组的每一个元素传递给指定的函数,并返回一个新数组 ,不修改原数组。
map() 方法按照原始数组元素顺序依次处理元素。
注意: map() 不会对空数组进行检测。
注意: map() 不会改变原始数组。
用法:
array.map(function(currentValue, index, arr), thisIndex)—
参数说明:
function(currentValue, index, arr):必须。为一个函数,数组中的每个元素都会执行这个函数。其中函数参数:
currentValue:必须。表述当前元素的的值(item)
index:可选。当前元素的索引也就是第几个数组元素。
arr:可选。当前元素属于的数组对象
thisValue:可选。对象作为该执行回调时使用,传递给函数,用作"this"的值

 //map()
          var arrObj = [2,4,6,8];
           var newArray =  arrObj.map((item) => {
            return item * item
          })
           console.log(arrObj);//[2,4,6,8]map() 不会修改原数组
           console.log(newArray);// [4, 16, 36, 64] 返回新数组

21.filter()
功能:过滤功能,数组中的每一项运行给定函数,返回满足过滤条件组成的数组。
可以巧妙的用来去重
注意:filter()不会对空数组进行检测、不会改变原始数组
用法:
Array.filter(function(currentValue, indedx, arr), thisValue)
参数一:函数 function 为必须,数组中的每个元素都会执行这个函数。且如果返回值为 true,则该元素被保留;
函数的第一个参数 currentValue 也为必须,代表当前元素的值。

// filter()
        var arr = [1,2,3,4,5,6,7,8,9]
        var newArray = arr.filter((item)=>{
           return item > 5
        })
        console.log(arr);// [1,2,3,4,5,6,7,8,9] 不会修改原数组
        console.log(newArray);//[6, 7, 8, 9] 返回新数组
       

会修改原数组方法:
shift、unshift、pop、push、splice、reverse、sort、copyWithin、fill
不会修改原数组方法:
concat、slice、join、filter、map、some、every、forEach、lastIndexOf、indexOf、reduce、reduceRight、find、findIndex

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

js数组处理方法总结slice、join、filter、map、indexOf、reduce、reduceRight等 的相关文章

  • 如何检测浏览器是否支持自定义元素

    我正在查看 Modernizr 它应该有助于功能检测 这应该可以帮助确定您的网站是否与给定的 Web 浏览器兼容 但我没有看到任何表明我可以使用它来检测自定义 HTML 的内容我们在内容中创建和定义的元素 如果不是 Modernizr 我如
  • 在 javascript/jquery 中将光标更改为等待

    当调用函数时 如何让光标更改为此加载图标以及如何将其更改回 javascript jquery 中的普通光标 在你的 jQuery 中使用 body css cursor progress 然后又恢复正常 body css cursor d
  • 如何在同一页面上使用AJAX处理多个表单

    我有一个表单 当我单击 提交 时 它就被提交了 然后该表单隐藏 操作页面的结果显示在 div 中 classname dig 它工作正常 但是当我添加另一个表单时 它停止正常工作并且所有表单同时提交 我如何更改我的代码 done click
  • 关闭选项卡时要求确认[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 当我在某些浏览器上关闭页面时 我希望出现一个消息框 并询问我是否真的要关闭页面 有两个按钮 如果我单击No那么这个标签就不会被关闭 我怎样
  • 从数据 URI 解码 QR 码

    我尝试从数据 uri 中解码二维码 var dataUri data image gif base64 R0lGODdh9gD2AIAAAAAAAP ywAAAAA9gD2AAAC decodeQrCode dataUri cb 我已经尝试
  • 为什么 JavaScript base-36 转换看起来不明确

    我目前正在编写一段使用 Base 36 编码的 JavaScript 我遇到了这个问题 parseInt welcomeback 36 toString 36 看来要回归了 welcomebacg 我在 Chrome 开发者控制台和 Nod
  • 如何重定向到 instagram://user?username={username}

    我的 html 页面上有这个链接 可以在特定用户上打开 Instagram 应用程序 a href Link to Instagram Profile a 我一直在寻找自动运行 url instagram user username USE
  • jQuery AJAX 调用 Java 方法

    使用 jQuery AJAX 我们可以调用特定的 JAVA 方法 例如从 Action 类 该 Java 方法返回的数据将用于填充一些 HTML 代码 请告诉我是否可以使用 jQuery 轻松完成此操作 就像在 DWR 中一样 此外 对于
  • 使用 JavaScript 使链接保持活动状态并在单击时显示悬停效果

    I am struggling to make this work I d like to make it where if O F is clicked the hover state stays active if another li
  • 在 Wordpress 站点中进行 AJAX 调用时出现问题

    我在使用 Wordpress 站点功能的 AJAX 部分时遇到了一些问题 该功能接受在表单上输入的邮政编码 使用 PHP 函数来查找邮政编码是否引用特定位置并返回到该位置的永久链接 我的第一个问题是关于我构建的表单 现在我的表单操作是空白的
  • 为什么是 javascript:history.go(-1);无法在移动设备上工作?

    首先 一些背景 我有一个向用户呈现搜索页面 html 表单 的应用程序 填写标准并单击 搜索 按钮后 结果将显示在标准部分下方 在结果列表中 您可以通过单击将您带到新页面的链接来查看单个结果的详细信息 在详细信息页面中 我添加了一个 返回结
  • 标签获取 href 值

    我有以下 html div class threeimages a img alt Australia src Images Services 20button tcm7 9688 gif a div class text h2 a hre
  • 跟踪用户何时点击浏览器上的后退按钮

    是否可以检测用户何时单击浏览器的后退按钮 我有一个 Ajax 应用程序 如果我可以检测到用户何时单击后退按钮 我可以显示适当的数据 任何使用 PHP JavaScript 的解决方案都是优选的 任何语言的解决方案都可以 只需要我可以翻译成
  • 表单计算器脚本基本价格未加载 OnLoad

    我的表单中有一个计算器来计算我的下拉选项选择 function select calculate on change calc input type checkbox calculate on click calc function cal
  • Electron - 为什么在关闭事件时将 BrowserWindow 实例设置为 null

    The 电子文档 https electronjs org docs api browser window 提供以下代码示例来创建新窗口 const BrowserWindow require electron let win new Br
  • 如何在类似控制台的环境中运行 JavaScript?

    我正在尝试遵循这里的示例 http eloquentjavascript net chapter2 html http eloquentjavascript net chapter2 html and print blah 在浏览器中运行时
  • Safari 支持 JavaScript window.onerror 吗?

    我有一个附加到 window onerror 的函数 window onerror function errorMsg url line window alert asdf 这在 firefox chrome 和 IE 中工作正常 但在 s
  • 将 MQTTNet 服务器与 MQTT.js 客户端结合使用

    我已经启动了一个 MQTT 服务器 就像this https github com chkr1011 MQTTnet tree master例子 该代码托管在 ASP Net Core 2 0 应用程序中 但我尝试过控制台应用程序 但没有成
  • 如何获取浏览器视口中当前显示的内容

    如何获取当前正在显示长文档的哪一部分的指示 例如 如果我的 html 包含 1 000 行 1 2 3 9991000 并且用户位于显示第 500 行的中间附近 那么我想得到 500 n501 n502 或类似的内容 显然 大多数场景都会比
  • 在 React.js 中编辑丰富的数据结构

    我正在尝试为数据结构创建一个简单的基于网格的编辑器 但我在使用 React js 时遇到了一些概念问题 他们的文档对此没有太大帮助 所以我希望这里有人可以提供帮助 首先 将状态从外部组件传输到内部组件的正确方法是什么 是否有可能将内部组件中

随机推荐

  • python span函数_如何使用python selenium单击span元素

    我不知道还有没有其他的元素 您可以使用css选择器选择范围 driver find element by css selector span click 我认为这是你代码中唯一的跨度标记 可能不是 作为一个非常 散弹枪 的解决方案 您可以单
  • 秒杀系统的设计和思考

    秒杀系统的难点 首先我们先看下秒杀场景的难点到底在哪 在秒杀场景中最大的问题在于容易产生大并发请求 产生超卖现象和性能问题 下面我们分别分析下下面这三个问题 1 瞬时大并发 一提到秒杀系统给人最深刻的印象是超大的瞬时并发 这时你可以联想到小
  • 【面试题】面试问红黑树,我脸都绿了。。

    https mp weixin qq com s biz MzI3ODcxMzQzMw mid 2247491467 idx 2 sn 1eb11dbfb7b72fdcf0360e06448c4cfc chksm eb539abddc241
  • 如何解决:Mac 进不去JetBrains官网 Mac 打不开 idea/webstorm/PyCharm官方网站

    问题需求 Mac 进不去 Idea Webstorm PyCharm 官网 即JetBrains官方网站 只要进入 www jetbrains com 就提示 Safari Can t Connect to the Server 即 Saf
  • NEON简单介绍

    ARM Advanced SIMD nick named NEON it provides 1 A set of interesting scalar vectorinstructions and registers the latter
  • Mysql8官方分布式数据库MGR最佳实践

    MGR简介 MGR是mysql Group Replication简称 中文名称是Mysql组复制 MGR是MySQL官方于2016年12月推出的一个全新的高可用与高扩展的解决方案 提供了高可用 高扩展 高可靠的MySQL集群服务 目前只支
  • flutter 圆角裁剪

    需求 高宽 为40 圆角度20 1 先实现高宽40方形 创建 Container 设置 width 40 height 40 如果需要颜色 自行在 color设置 2 设置圆角度 使用Physicalmodel方式 需要设置 color b
  • Python日期格式处理

    数据分析工作中 Python和SQL是常用的两大工具 常见的数据类型有数值型 字符串型 日期型等 对日期型格式进行处理也是比较常见的情形 文章SQL中日期格式处理记录了SQL针对日期型字段的处理过程 本文记录Python对日期型数据的处理
  • Linux 下创建新用户并且添加为root组用户

    1 创建用户及设置密码 创建用户名 useradd test 设置密码 passwd test 输入两次密码 test 2 给新用户授root权限 1 chmod v u w etc sudoers 增加 sudoers 文件的写的权限 默
  • 有关StandardScaler的transform和fit_transform方法

    背景 StandardScaler类是一个用来讲数据进行归一化和标准化的类 所谓归一化和标准化 即应用下列公式 使得新的X数据集方差为1 均值为0 问题一 StandardScaler类中transform和fit transform方法有
  • OpenCV中利用knn进行数字(0-9)识别--RGB-D相机采集

    目录 前言 一 KNN原理 二 数字识别系统效果演示 三 数字识别系统 1 图像采集 2 阈值分割 定位数字区域 3 轮廓特征分析 定位数字区域 4 数字轮廓提取 5 扩充边界并归一化其尺寸 6 训练数据集并预测测试样本 总结 前言 本章使
  • Google Cloud API设计指南

    目录 一 基于资源的设计 什么是 REST API 设计流程 资源 方法 示例 Gmail API Cloud Pub Sub API Cloud Spanner API 二 资源名称 完整资源名称 相对资源名称 资源 ID 集合 ID 资
  • 牛客:华为机试---人民币转换

    1 题目描述 考试题目和要点 1 中文大写金额数字前应标明 人民币 字样 中文大写金额数字应用壹 贰 叁 肆 伍 陆 柒 捌 玖 拾 佰 仟 万 亿 元 角 分 零 整等字样填写 30分 2 中文大写金额数字到 元 为止的 在 元 之后 应
  • ubuntu18 安装gcc 9遇到add-apt-repository: command not found

    sudo add apt repository ppa ubuntu toolchain r test 执行上面命令遇到add apt repository command not found问题 尝试了各种方法 发现下面方法最有用 依次执
  • Makefile 中的几种 等号

    在Makefile中我们经常看到 这几个赋值运算符 那么他们有什么区别呢 我们来做个简单的实验 新建一个Makefile 内容为 ifdef DEFINE VRE VRE Hello World else endif ifeq OPT de
  • 《HRNet-OCR:Object-Contextual Representations for Semantic Segmentation》论文笔记

    参考代码 HRNet OCR 1 概述 导读 这篇文章研究了语义分割中上下文信息的提取与表达 其方法设计的灵感来自于 分割中一个像素的label是其对应目标 object 的类别 那么基于此文章便是通过不同object区域的表达去关联并表达
  • spring-security--基础--5.1--ACL--介绍

    spring security 基础 5 1 ACL 介绍 代码位置 https gitee com DanShenGuiZu learnDemo tree master spring security learn 1 介绍 ACL 访问控
  • JDBC(数据库连接)——url写法

    JDBC的URL 协议名 子协议名 数据源名 协议名 总是 jdbc 子协议名 数据库类型协议 数据源名 用户 数据库名等信息 常见的数据库连接 oracle 驱动 oracle jdbc driver OracleDriver URL j
  • 解析智能扫地机器人中蕴含的情感元素

    在新一轮新冠疫情爆发后 大众宅在家的时候也变多起来 对于居家清洁的需求也越来越旺盛 人们希望可以从日常的繁琐的家务中解放出来 其中智能扫地机器人就占有一席之地 在市场需求持续走高的催生下 技术也在不断革新换代 根据数据显示 2021年前11
  • js数组处理方法总结slice、join、filter、map、indexOf、reduce、reduceRight等

    归纳总结数组的处理方法如下 1 splice 功能 1 删除 从数组中删除元素 两个参数 第一个参数 要删除元素的起始位置 第二个参数 要删除的项数 2 添加 插入元素到数组中 三个参数 第一个参数 起始位置 第二个参数 0 第三个参数 插