小编Her*_*key的帖子

单独的数字范围,如果按顺序,然后是连字符,如果顺序中断,则发生逗号字符

我有一个表示页面的字符串1,2,3,4,8,9,10,15.

我想要将其显示为,1-4,8-10,15 即序列中的数字由连字符分隔,连字符由最小和最大数字依次包围.

如果按顺序中断,则范围用逗号分隔.

string pageNos = "5,6,7,9,10,11,12,15,16";
string result=string.Empty;
string[] arr1 = pageNos.Split(',');
int[] arr = new int[arr1.Length];

for (int x = 0; x < arr1.Length; x++) // Convert string array to integer array
{
    arr[x] = Convert.ToInt32(arr1[x].ToString());
}

for (int i = 0; i < arr.Length;i++)
{
    for (int j = i + 1; ; j++)
        if (arr[i] == (arr[j] - 1))
            result += arr[i].ToString() + "-" + arr[j].ToString();
        else
            result += arr[i].ToString() + ","; …
Run Code Online (Sandbox Code Playgroud)

c# algorithm

10
推荐指数
2
解决办法
3523
查看次数

访问javascript对象中的属性的奇怪行为

我正在尝试访问我的对象中的值:

<input type="text" name="address-search" 
       placeholder="43 Roxling Drive Boston, MA" 
       class="ui-autocomplete-input ui-corner-all" autocomplete="off">

select: function( event, ui ) {
    console.log(ui);
    $('input[name="address-search"]').val(ui.item.label);
}
Run Code Online (Sandbox Code Playgroud)

这是console.log电话会议的结果:

在此输入图像描述

这是奇怪的一点:

如果console.log(ui.item.label)我得到:Boston, Massachusetts, United States.

如果我打电话,$('input[name="address-search"]').val(ui.item.label);我只会得到Boston.任何想法为什么会这样?

javascript jquery jquery-ui jquery-ui-autocomplete

10
推荐指数
1
解决办法
132
查看次数

MomentJs:如何在Typescript中将字符串转换为日期?

我在Angular 2中实现Ag Gird.我有一个日期列和日期排序和Ag网格只需要格式的日期类型.因此,我必须以日期的形式发送它以进行渲染.但我的输入是字符串.我的格式为2017-01-19的dateString.我正在做

let myDate:Date = moment(dateString).toDate();
Run Code Online (Sandbox Code Playgroud)

但它是我2017年1月19日00:00印度标准时间的产出.我也是这样试过的

let myDate:Date = moment(dateString).format("DD/MM/YYYY");
Run Code Online (Sandbox Code Playgroud)

这给了我错误字符串不能分配给日期.

也是这样尝试过的

let myDate:Date = moment(dateString,"DD/MM/YYYY");
Run Code Online (Sandbox Code Playgroud)

但没有运气.我想要的是,输出的类型为日期和19-01-2017的形式

请建议

javascript momentjs typescript ag-grid angular

10
推荐指数
2
解决办法
2万
查看次数

我应该使用哪个功能?.toDataURL() 还是 .toBlob()?

我想在客户端使用 JavaScript 调整图像大小。我找到了两种解决方案,一种是使用.toDataURL()函数,另一种是使用.toBlob()函数。两种解决方案都有效。好吧,我只是好奇这两个功能之间有什么区别?哪一个更好?或者我应该什么时候使用.toDataURL()函数或.toBlob()函数?

这是我用来输出这两个函数的代码,图像大小(字节)和图像颜色(我不确定这个)略有不同。代码有问题吗?

<html>
    <head>
        <title>Php code compress the image</title>
    </head>
    <body>
        <input id="file" type="file" onchange="fileInfo();"><br>
        <div>
            <h3>Original Image</h3>
            <img id="source_image"/>
            <button onclick="resizeImage()">Resize Image</button>
            <button onclick="compressImage()">Compress Image</button>
            <h1 id="source_image_size"></h1>
        </div>
        <div>
            <h3>Resized Image</h3>
            <h1> image from dataURL function </h1>
            <img id="result_resize_image_dataURL"/>

            <h1> image from toBlob function </h1>
            <img id="result_resize_image_toBlob"/>
        </div>
        <div>
            <fieldset>
                <legend>Console output</legend>
                <div id='console_out'></div>
            </fieldset>
        </div>

        <script>
            //Console logging (html)
            if (!window.console)
            console = {};

            var console_out = document.getElementById('console_out'); …
Run Code Online (Sandbox Code Playgroud)

javascript canvas html5-canvas

10
推荐指数
1
解决办法
3487
查看次数

如何在Leaflet中显示超出特定缩放级别的标签?

我对Leaflet库和一般的JavaScript都很陌生,而且我一直试图弄清楚如何基于缩放级别显示/隐藏传单Label(并且标记位于'cluster'层中) .

标记都是通过AJAX回调加载的onEachFeature,然后我使用它绑定弹出框和标签,然后我将geoJson标记层添加到地图中.

我只想在放大某个级别时显示标签,但我没有运气.我也尝试添加,leaflet.zoomcss.js但我想我没有正确使用它.

样品

var officesLayerGroup = L.markerClusterGroup();
var currentMakers;
function DiaplyLocalOffices(jqOffices) {

    currentMakers = new L.geoJson(jqOffices, {
        style: function (feature) {
            var c = feature.properties.markercolor;
            if (feature.properties.OfficeID == 0) {
                c = 'yellow';
            }
            return { color: c };
        },
        pointToLayer: function (feature, latlng) {
            return new L.CircleMarker(latlng, { radius: 7, fillOpacity: 0.5 });
        },

        onEachFeature: bindOfficePopup
    });
    officesLayerGroup.addLayer(currentMakers);
    map.addLayer(officesLayerGroup); 
}

function bindOfficePopup(feature, layer) {
    // This function adds the popup based on the …
Run Code Online (Sandbox Code Playgroud)

javascript css jquery json leaflet

9
推荐指数
2
解决办法
6625
查看次数

如何将画布作为图像保存到Firebase存储?

我正在尝试将画布作为图像保存到firebase存储中.我已经阅读了很多关于将canvas保存到服务器的文章和问题,并尝试使用以下代码实现相同的内容.

function server(){
    canvas = document.getElementById("c");
    var storageRef = firebase.storage().ref();
    var mountainsRef = storageRef.child('mountains.jpg');
    var image = new Image();
    image.src = canvas.toDataURL("image/png");
    var uploadTask = storageRef.child('images/' + "apple").put(image);
    uploadTask.on('state_changed', function(snapshot){
        // Observe state change events such as progress, pause, and resume
        // See below for more detail
    }, function(error) {
        // Handle unsuccessful uploads
    }, function() {
        // Handle successful uploads on complete
        // For instance, get the download URL: https://firebasestorage.googleapis.com/...
        var downloadURL = uploadTask.snapshot.downloadURL;
    });
}
Run Code Online (Sandbox Code Playgroud)

但是,当我运行Web应用程序时,控制台显示错误:

FirebaseError:Firebase存储:put …

javascript storage html5-canvas firebase firebase-storage

9
推荐指数
1
解决办法
2526
查看次数

在Array.sort的这个中间阶段发生了什么?

在对数组方法进行深入研究时,我决定查看Array.sort方法中涉及的步骤.看看这段代码来反转数组的顺序:

let arr = [];

for (let i = 1; i < 6; i++) {
  arr.push(i);
}

arr.sort((value1, value2) => {
  console.log(arr);
  console.log(`Comparing ${value1} : ${value2}`);
  return value2 - value1;
});

console.log(arr);
Run Code Online (Sandbox Code Playgroud)

我得到这个输出:

[1, 2, 3, 4, 5]
Comparing 1 : 2
[2, 1, 3, 4, 5]
Comparing 1 : 3
[2, 1, 1, 4, 5]
Comparing 2 : 3
[3, 2, 1, 4, 5]
Comparing 1 : 4
[3, 2, 1, 1, 5]
Comparing 2 : 4
[3, 2, …
Run Code Online (Sandbox Code Playgroud)

javascript arrays

9
推荐指数
1
解决办法
156
查看次数

绕过 Chrome 中的 CORS 问题

我们面临一个问题,即通过 XMLHTTPRequest 使用 Chrome 请求失败并出现以下错误:

加载失败<server url>:请求的资源上不存在“Access-Control-Allow-Origin”标头。<client domain>因此不允许访问源“ ”。

这个错误是 Chrome 特有的,因为我们在 IE 中没有遇到这个问题。有没有办法绕过 JavaScript 中的这个错误。

javascript google-chrome

9
推荐指数
2
解决办法
4万
查看次数

如何防止网络浏览器中网站上的屏幕录制?

我正在为我的一个客户制作一个教育网站,他要求实现一项可以防止用户在网站上录制屏幕的功能,因为该网站会有付费内容和一些 Vimeo 视频,所以他不想允许有人通过屏幕录制窃取他的视频。我知道这可以为 Android 或 IOS 应用程序完成。作为一名 React 开发人员,我还可以使用 expo 为 Android 应用程序实现此功能。但客户想要在网络浏览器上为网站执行此操作。我花了4个小时在网上搜索,仍然一片空白,因为我没有得到一个解决方案。你能告诉我怎样才能做到吗?即使可能或不可能?

javascript screenshot recording reactjs

9
推荐指数
2
解决办法
2万
查看次数

角度选择闪烁

我有一个带有属性的简单<select></select>内部,例如:<div>ng-show

<div ng-show="edit">
  <select ng-options="key as value in VALUES"></select>
</div>
Run Code Online (Sandbox Code Playgroud)

现在出于某种原因,当我点击select打开它时,它会闪烁,就像选择是非常快速地打开/关闭一样.有时会眨眼两次,有时甚至更多.我曾经使用过select有角度的盒子而且从来没有这个.

我发现了导致它的原因.它出现的完整形式如下:

<form class="mb-lg" name="formValidate" ng-init="addCreate = '.action_add'" novalidate="" role="form">
  <label class="radio-inline c-radio">
    <input id="action_add" name="add_create" ng-model="addCreate" required="required" type="radio" value=".action_add">
    <span class="fa fa-circle"></span>
    Add to existing
  </label>
  <div class="form-group has-feedback">
    <select class="form-control" name="selected" ng-disabled="addCreate != '.action_add'" ng-model="selected" ng-options="p as p.name for p in portfolios | filter : {'update?': true}" ng-required="addCreate == '.action_add'" required="required"></select>
  </div>
  <label class="radio-inline c-radio ng-binding">
    <input id="action_create" name="add_create" ng-model="addCreate" …
Run Code Online (Sandbox Code Playgroud)

angularjs

8
推荐指数
1
解决办法
2201
查看次数